diff --git a/agents/agentreq_test.go b/agents/agentreq_test.go index 5f5b5b181..52a70c638 100644 --- a/agents/agentreq_test.go +++ b/agents/agentreq_test.go @@ -41,7 +41,7 @@ import ( func TestAgReqSetFields(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -142,7 +142,7 @@ func TestAgReqSetFieldsComp(t *testing.T) { utils.Tenant: "cgrates.org", } cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) ar := NewAgentRequest(utils.MapStorage(req), nil, nil, nil, nil, config.NewRSRParsersMustCompile("", utils.NestingSep), @@ -512,7 +512,7 @@ func TestAgReqSetFieldsComp(t *testing.T) { func TestAgReqMaxCost(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -558,7 +558,7 @@ func TestAgReqParseFieldDiameter(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -611,7 +611,7 @@ func TestAgReqParseFieldRadius(t *testing.T) { //create radiusDataProvider dP := newRADataProvider(pkt) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -654,7 +654,7 @@ Host: api.cgrates.org //create radiusDataProvider dP, _ := newHTTPUrlDP(req) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -725,7 +725,7 @@ func TestAgReqParseFieldHttpXml(t *testing.T) { //create radiusDataProvider dP, _ := newHTTPXmlDP(req) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -755,7 +755,7 @@ func TestAgReqParseFieldHttpXml(t *testing.T) { func TestAgReqEmptyFilter(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -797,7 +797,7 @@ func TestAgReqEmptyFilter(t *testing.T) { func TestAgReqMetaExponent(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, 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) @@ -823,7 +823,7 @@ func TestAgReqMetaExponent(t *testing.T) { func TestAgReqFieldAsNone(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -861,7 +861,7 @@ func TestAgReqFieldAsNone(t *testing.T) { func TestAgReqFieldAsNone2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, 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) @@ -901,7 +901,7 @@ func TestAgReqFieldAsNone2(t *testing.T) { func TestAgReqSetField2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -957,7 +957,7 @@ func TestAgReqSetField2(t *testing.T) { func TestAgReqFieldAsInterface(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, 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) @@ -1026,7 +1026,7 @@ func TestAgReqFieldAsInterface(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathCgrReq(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) aqReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, @@ -1049,7 +1049,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathCgrReq(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathVars(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) dN := &utils.DataNode{ @@ -1077,7 +1077,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathVars(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathCgrReply(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) dN := &utils.DataNode{ @@ -1105,7 +1105,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathCgrReply(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathTmp(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) dN := &utils.DataNode{ @@ -1134,7 +1134,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathTmp(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathReq(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) dP := &utils.MapStorage{ @@ -1161,7 +1161,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathReq(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathDiamReq(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) aqReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, @@ -1184,7 +1184,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathDiamReq(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathReply(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) aqReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, @@ -1207,7 +1207,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathReply(t *testing.T) { func TestAgReqFieldAsInterfaceForOneFldPathOpts(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) opts := utils.MapStorage{ @@ -1234,7 +1234,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathCfg(t *testing.T) { cfg := config.NewDefaultCGRConfig() config.SetCgrConfig(cfg) - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) aqReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, @@ -1254,7 +1254,7 @@ func TestAgReqFieldAsInterfaceForOneFldPathCfg(t *testing.T) { func TestAgReqNewARWithCGRRplyAndRply(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -1299,7 +1299,7 @@ func TestAgReqNewARWithCGRRplyAndRply(t *testing.T) { func TestAgReqSetCGRReplyWithError(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -1337,7 +1337,7 @@ func (ev myEv) AsNavigableMap() map[string]*utils.DataNode { func TestAgReqSetCGRReplyWithoutError(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -1398,7 +1398,7 @@ func TestAgReqParseFieldMetaCCUsage(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1482,7 +1482,7 @@ func TestAgReqParseFieldMetaUsageDifference(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1548,7 +1548,7 @@ func TestAgReqParseFieldMetaSum(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1592,7 +1592,7 @@ func TestAgReqParseFieldMetaDifference(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1636,7 +1636,7 @@ func TestAgReqParseFieldMetaMultiply(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1680,7 +1680,7 @@ func TestAgReqParseFieldMetaDivide(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1724,7 +1724,7 @@ func TestAgReqParseFieldMetaValueExponent(t *testing.T) { //create diameterDataProvider dP := newDADataProvider(nil, m) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -1778,7 +1778,7 @@ func TestAgReqParseFieldMetaValueExponent(t *testing.T) { func TestAgReqOverwrite(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -1830,7 +1830,7 @@ func TestAgReqOverwrite(t *testing.T) { func TestAgReqGroupType(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -1874,7 +1874,7 @@ func TestAgReqGroupType(t *testing.T) { func TestAgReqSetFieldsInTmp(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -1906,7 +1906,7 @@ func TestAgReqSetFieldsInTmp(t *testing.T) { func TestAgReqSetFieldsIp2Hex(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -1933,7 +1933,7 @@ func TestAgReqSetFieldsIp2Hex(t *testing.T) { func TestAgReqSetFieldsString2Hex(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -1960,7 +1960,7 @@ func TestAgReqSetFieldsString2Hex(t *testing.T) { func TestAgReqSetFieldsWithRemove(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -2088,7 +2088,7 @@ func TestAgReqSetFieldsWithRemove(t *testing.T) { func TestAgReqSetFieldsInCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -2128,7 +2128,7 @@ func TestAgReqSetFieldsInCache(t *testing.T) { func TestAgReqSetFieldsInCacheWithTimeOut(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -2253,7 +2253,7 @@ func TestAgReqFiltersInsideField(t *testing.T) { }}) //create diameterDataProvider cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) //pass the data provider to agent request @@ -2284,7 +2284,7 @@ func TestAgReqFiltersInsideField(t *testing.T) { func TestAgReqDynamicPath(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -2352,7 +2352,7 @@ func TestAgReqDynamicPath(t *testing.T) { func TestAgReqRoundingDecimals(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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) @@ -2404,7 +2404,7 @@ ok github.com/cgrates/cgrates/agents 36.788s */ func BenchmarkAgReqSetField(b *testing.B) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) tplFlds := []*config.FCTemplate{ @@ -2468,7 +2468,7 @@ func TestAgReqNeedsMaxUsage(t *testing.T) { func TestAgReqSetFieldsFromCfg(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 4daf85ad6..b1718fe7a 100644 --- a/agents/diamagent_test.go +++ b/agents/diamagent_test.go @@ -49,7 +49,7 @@ func (s *testMockSessionConn) Call(_ *context.Context, method string, arg any, r } func TestProcessRequest(t *testing.T) { - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 e0e18e01d..0c82538f7 100644 --- a/agents/libdiam_test.go +++ b/agents/libdiam_test.go @@ -1148,7 +1148,7 @@ func TestLibDiamFilterWithDiameterDP(t *testing.T) { }}) dP := newDADataProvider(nil, avps) cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, 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 d913bb4fe..2eacfc3d6 100644 --- a/analyzers/analyzers_test.go +++ b/analyzers/analyzers_test.go @@ -188,7 +188,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.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, 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 351e8fdf4..36166d0d5 100644 --- a/apier/v1/accounts_test.go +++ b/apier/v1/accounts_test.go @@ -29,7 +29,7 @@ import ( func TestAccountsSetGet(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) apierSv1 := &APIerSv1{ DataManager: engine.NewDataManager(db, config.CgrConfig().CacheCfg(), nil), Config: cfg, diff --git a/apier/v1/caches_test.go b/apier/v1/caches_test.go index a49ed6e7a..3ab7032a9 100644 --- a/apier/v1/caches_test.go +++ b/apier/v1/caches_test.go @@ -30,7 +30,7 @@ import ( func TestCacheLoadCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) @@ -59,7 +59,7 @@ func TestCacheLoadCache(t *testing.T) { func TestCacheReloadCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) @@ -88,7 +88,7 @@ func TestCacheReloadCache(t *testing.T) { func TestCacheSetAndRemoveItems(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) @@ -146,7 +146,7 @@ func TestCacheSetAndRemoveItems(t *testing.T) { func TestCacheSv1GetItem(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cacheService := engine.NewCacheS(cfg, dm, nil) @@ -176,7 +176,7 @@ func TestCacheSv1GetItem(t *testing.T) { func TestCacheSv1GetItemWithRemote(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cacheService := engine.NewCacheS(cfg, dm, nil) @@ -201,7 +201,7 @@ func TestCacheSv1GetItemWithRemote(t *testing.T) { func TestCacheSv1GetItemExpiryTime(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) cache := NewCacheSv1(ch) @@ -233,7 +233,7 @@ func TestCacheSv1GetItemExpiryTime(t *testing.T) { func TestCacheSv1RemoveItem(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) @@ -260,7 +260,7 @@ func TestCacheSv1RemoveItem(t *testing.T) { func TestCacheSv1Clear(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) @@ -283,7 +283,7 @@ func TestCacheSv1Clear(t *testing.T) { func TestCacheSv1PrecacheStatus(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) @@ -306,7 +306,7 @@ func TestCacheSv1PrecacheStatus(t *testing.T) { func TestCacheSv1HasGroup(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) @@ -330,7 +330,7 @@ func TestCacheSv1HasGroup(t *testing.T) { func TestCacheSv1RemoveGroup(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) @@ -357,7 +357,7 @@ func TestCacheSv1RemoveGroup(t *testing.T) { func TestCacheSv1ReplicateSet(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) @@ -380,7 +380,7 @@ func TestCacheSv1ReplicateSet(t *testing.T) { func TestCacheSv1ReplicateRemove(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) @@ -403,7 +403,7 @@ func TestCacheSv1ReplicateRemove(t *testing.T) { func TestCacheSv1GetCacheStats(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) @@ -426,7 +426,7 @@ func TestCacheSv1GetCacheStats(t *testing.T) { func TestCacheSv1GetGroupItemIDs(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, nil) + data := engine.NewInternalDB(nil, nil, true, false, nil) cfg.ApierCfg().CachesConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ch := engine.NewCacheS(cfg, dm, nil) diff --git a/apier/v1/debit_test.go b/apier/v1/debit_test.go index 07960f685..685541d64 100644 --- a/apier/v1/debit_test.go +++ b/apier/v1/debit_test.go @@ -30,7 +30,7 @@ import ( func TestDebitUsageWithOptions(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.SetDataStorage(dm) apierDebit := &APIerSv1{ diff --git a/apier/v1/filters_test.go b/apier/v1/filters_test.go index 48b23b5e9..31617cd5d 100644 --- a/apier/v1/filters_test.go +++ b/apier/v1/filters_test.go @@ -48,7 +48,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, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) expArgs := &utils.AttrReloadCacheWithAPIOpts{ APIOpts: map[string]any{ @@ -239,7 +239,7 @@ 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, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) expArgs := &utils.AttrCacheIDsWithAPIOpts{ APIOpts: map[string]any{ diff --git a/apier/v1/libapier_test.go b/apier/v1/libapier_test.go index 3a7ac20d5..abf77253c 100644 --- a/apier/v1/libapier_test.go +++ b/apier/v1/libapier_test.go @@ -208,7 +208,7 @@ func TestCallCache(t *testing.T) { func TestCallCacheForFilter(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) tnt := "cgrates.org" flt := &engine.Filter{ Tenant: tnt, diff --git a/config/config_json_test.go b/config/config_json_test.go index e9ad42a48..8a5f26d6d 100644 --- a/config/config_json_test.go +++ b/config/config_json_test.go @@ -233,8 +233,7 @@ func TestCacheJsonCfg(t *testing.T) { Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)}, utils.CacheCapsEvents: {Limit: utils.IntPointer(-1), Ttl: utils.StringPointer(""), Static_ttl: utils.BoolPointer(false), - Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false), - }, + Remote: utils.BoolPointer(false), Replicate: utils.BoolPointer(false)}, utils.MetaAPIBan: {Limit: utils.IntPointer(-1), Ttl: utils.StringPointer("2m"), Static_ttl: utils.BoolPointer(false), @@ -295,23 +294,29 @@ func TestDfDataDbJsonCfg(t *testing.T) { Remote_conn_id: utils.StringPointer(""), Replication_cache: utils.StringPointer(""), Opts: &DBOptsJson{ - RedisMaxConns: utils.IntPointer(10), - RedisConnectAttempts: utils.IntPointer(20), - RedisSentinel: utils.StringPointer(utils.EmptyString), - RedisCluster: utils.BoolPointer(false), - RedisClusterSync: utils.StringPointer("5s"), - RedisClusterOndownDelay: utils.StringPointer("0"), - RedisPoolPipelineWindow: utils.StringPointer("150µs"), - RedisPoolPipelineLimit: utils.IntPointer(0), - RedisConnectTimeout: utils.StringPointer("0"), - RedisReadTimeout: utils.StringPointer("0"), - RedisWriteTimeout: utils.StringPointer("0"), - MongoQueryTimeout: utils.StringPointer("10s"), - MongoConnScheme: utils.StringPointer("mongodb"), - RedisTLS: utils.BoolPointer(false), - RedisClientCertificate: utils.StringPointer(utils.EmptyString), - RedisClientKey: utils.StringPointer(utils.EmptyString), - RedisCACertificate: utils.StringPointer(utils.EmptyString), + InternalDBDumpPath: utils.StringPointer("/var/lib/cgrates/internal_db/datadb"), + InternalDBBackupPath: utils.StringPointer("/var/lib/cgrates/internal_db/backup/datadb"), + InternalDBStartTimeout: utils.StringPointer("5m"), + InternalDBDumpInterval: utils.StringPointer("0s"), + InternalDBRewriteInterval: utils.StringPointer("0s"), + InternalDBWriteLimit: utils.IntPointer(100), + RedisMaxConns: utils.IntPointer(10), + RedisConnectAttempts: utils.IntPointer(20), + RedisSentinel: utils.StringPointer(utils.EmptyString), + RedisCluster: utils.BoolPointer(false), + RedisClusterSync: utils.StringPointer("5s"), + RedisClusterOndownDelay: utils.StringPointer("0"), + RedisPoolPipelineWindow: utils.StringPointer("150µs"), + RedisPoolPipelineLimit: utils.IntPointer(0), + RedisConnectTimeout: utils.StringPointer("0"), + RedisReadTimeout: utils.StringPointer("0"), + RedisWriteTimeout: utils.StringPointer("0"), + MongoQueryTimeout: utils.StringPointer("10s"), + MongoConnScheme: utils.StringPointer("mongodb"), + RedisTLS: utils.BoolPointer(false), + RedisClientCertificate: utils.StringPointer(utils.EmptyString), + RedisClientKey: utils.StringPointer(utils.EmptyString), + RedisCACertificate: utils.StringPointer(utils.EmptyString), }, Items: &map[string]*ItemOptJson{ utils.MetaAccounts: { @@ -605,16 +610,22 @@ func TestDfStorDBJsonCfg(t *testing.T) { String_indexed_fields: &[]string{}, Prefix_indexed_fields: &[]string{}, Opts: &DBOptsJson{ - SQLMaxOpenConns: utils.IntPointer(100), - SQLMaxIdleConns: utils.IntPointer(10), - SQLLogLevel: utils.IntPointer(3), - MongoQueryTimeout: utils.StringPointer("10s"), - MongoConnScheme: utils.StringPointer("mongodb"), - SQLConnMaxLifetime: utils.StringPointer("0"), - MySQLDSNParams: make(map[string]string), - PgSSLMode: utils.StringPointer(utils.PgSSLModeDisable), - MySQLLocation: utils.StringPointer("Local"), - PgSchema: utils.StringPointer(""), + InternalDBDumpPath: utils.StringPointer("/var/lib/cgrates/internal_db/stordb"), + InternalDBBackupPath: utils.StringPointer("/var/lib/cgrates/internal_db/backup/stordb"), + InternalDBStartTimeout: utils.StringPointer("5m"), + InternalDBDumpInterval: utils.StringPointer("0s"), + InternalDBRewriteInterval: utils.StringPointer("0s"), + InternalDBWriteLimit: utils.IntPointer(100), + SQLMaxOpenConns: utils.IntPointer(100), + SQLMaxIdleConns: utils.IntPointer(10), + SQLLogLevel: utils.IntPointer(3), + MongoQueryTimeout: utils.StringPointer("10s"), + MongoConnScheme: utils.StringPointer("mongodb"), + SQLConnMaxLifetime: utils.StringPointer("0"), + MySQLDSNParams: make(map[string]string), + PgSSLMode: utils.StringPointer(utils.PgSSLModeDisable), + MySQLLocation: utils.StringPointer("Local"), + PgSchema: utils.StringPointer(""), }, Items: &map[string]*ItemOptJson{ utils.CacheTBLTPTimings: { diff --git a/config/config_test.go b/config/config_test.go index df25527d9..878386150 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -3501,16 +3501,22 @@ func TestV1GetConfigStorDB(t *testing.T) { utils.RemoteConnsCfg: empty, utils.ReplicationConnsCfg: empty, utils.OptsCfg: map[string]any{ - utils.SQLMaxOpenConnsCfg: 100, - utils.MongoConnSchemeCfg: "mongodb", - utils.SQLMaxIdleConnsCfg: 10, - utils.SQLLogLevel: 3, - utils.SQLConnMaxLifetimeCfg: "0s", - utils.MYSQLDSNParams: make(map[string]string), - utils.MongoQueryTimeoutCfg: "10s", - utils.PgSSLModeCfg: "disable", - utils.MysqlLocation: "Local", - utils.PgSchema: "", + utils.InternalDBDumpIntervalCfg: 0 * time.Nanosecond, + utils.InternalDBDumpPathCfg: "/var/lib/cgrates/internal_db/stordb", + utils.InternalDBBackupPathCfg: "/var/lib/cgrates/internal_db/backup/stordb", + utils.InternalDBStartTimeoutCfg: 5 * time.Minute, + utils.InternalDBRewriteIntervalCfg: 0 * time.Nanosecond, + utils.InternalDBWriteLimitCfg: 100, + utils.SQLMaxOpenConnsCfg: 100, + utils.MongoConnSchemeCfg: "mongodb", + utils.SQLMaxIdleConnsCfg: 10, + utils.SQLLogLevel: 3, + utils.SQLConnMaxLifetimeCfg: "0s", + utils.MYSQLDSNParams: make(map[string]string), + utils.MongoQueryTimeoutCfg: "10s", + utils.PgSSLModeCfg: "disable", + utils.MysqlLocation: "Local", + utils.PgSchema: "", }, utils.ItemsCfg: map[string]any{}, } @@ -4746,7 +4752,7 @@ func TestV1GetConfigAsJSONGeneral(t *testing.T) { func TestV1GetConfigAsJSONDataDB(t *testing.T) { var reply string - expected := `{"data_db":{"db_host":"127.0.0.1","db_name":"10","db_password":"","db_port":6379,"db_type":"*redis","db_user":"cgrates","items":{"*account_action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*accounts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*action_triggers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*attribute_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*attribute_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*charger_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*charger_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_hosts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*filters":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*load_ids":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*ranking_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rankings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rating_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rating_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resource_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resource_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resources":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*reverse_destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*reverse_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*route_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*route_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*sessions_backup":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*shared_groups":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*stat_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*statqueue_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*statqueues":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*threshold_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*threshold_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*thresholds":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*timings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*trend_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*trends":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*versions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false}},"opts":{"mongoConnScheme":"mongodb","mongoQueryTimeout":"10s","redisCACertificate":"","redisClientCertificate":"","redisClientKey":"","redisCluster":false,"redisClusterOndownDelay":"0s","redisClusterSync":"5s","redisConnectAttempts":20,"redisConnectTimeout":"0s","redisMaxConns":10,"redisPoolPipelineLimit":0,"redisPoolPipelineWindow":"150µs","redisReadTimeout":"0s","redisSentinel":"","redisTLS":false,"redisWriteTimeout":"0s"},"remote_conn_id":"","remote_conns":[],"replication_cache":"","replication_conns":[],"replication_filtered":false}}` + expected := `{"data_db":{"db_host":"127.0.0.1","db_name":"10","db_password":"","db_port":6379,"db_type":"*redis","db_user":"cgrates","items":{"*account_action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*accounts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*action_triggers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*attribute_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*attribute_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*charger_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*charger_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_hosts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*filters":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*load_ids":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*ranking_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rankings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rating_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rating_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resource_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resource_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resources":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*reverse_destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*reverse_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*route_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*route_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*sessions_backup":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*shared_groups":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*stat_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*statqueue_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*statqueues":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*threshold_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*threshold_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*thresholds":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*timings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*trend_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*trends":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*versions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false}},"opts":{"internalDBBackupPath":"/var/lib/cgrates/internal_db/backup/datadb","internalDBDumpInterval":0,"internalDBDumpPath":"/var/lib/cgrates/internal_db/datadb","internalDBRewriteInterval":0,"internalDBStartTimeout":300000000000,"internalDBWriteLimit":100,"mongoConnScheme":"mongodb","mongoQueryTimeout":"10s","redisCACertificate":"","redisClientCertificate":"","redisClientKey":"","redisCluster":false,"redisClusterOndownDelay":"0s","redisClusterSync":"5s","redisConnectAttempts":20,"redisConnectTimeout":"0s","redisMaxConns":10,"redisPoolPipelineLimit":0,"redisPoolPipelineWindow":"150µs","redisReadTimeout":"0s","redisSentinel":"","redisTLS":false,"redisWriteTimeout":"0s"},"remote_conn_id":"","remote_conns":[],"replication_cache":"","replication_conns":[],"replication_filtered":false}}` cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfigAsJSON(context.Background(), &SectionWithAPIOpts{Section: DATADB_JSN}, &reply); err != nil { t.Error(err) @@ -4757,7 +4763,7 @@ func TestV1GetConfigAsJSONDataDB(t *testing.T) { func TestV1GetConfigAsJSONStorDB(t *testing.T) { var reply string - expected := `{"stor_db":{"db_host":"127.0.0.1","db_name":"cgrates","db_password":"CGRateS.org","db_port":3306,"db_type":"*mysql","db_user":"cgrates","items":{"*cdrs":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*session_costs":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_account_actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_action_triggers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_attributes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_chargers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_destination_rates":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_dispatcher_hosts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_dispatcher_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_filters":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rankings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rates":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rating_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rating_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_resources":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_routes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_shared_groups":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_stats":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_thresholds":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_timings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_trends":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*versions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false}},"opts":{"mongoConnScheme":"mongodb","mongoQueryTimeout":"10s","mysqlDSNParams":{},"mysqlLocation":"Local","pgSSLMode":"disable","pgSchema":"","sqlConnMaxLifetime":"0s","sqlLogLevel":3,"sqlMaxIdleConns":10,"sqlMaxOpenConns":100},"prefix_indexed_fields":[],"remote_conns":null,"replication_conns":null,"string_indexed_fields":[]}}` + expected := `{"stor_db":{"db_host":"127.0.0.1","db_name":"cgrates","db_password":"CGRateS.org","db_port":3306,"db_type":"*mysql","db_user":"cgrates","items":{"*cdrs":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*session_costs":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_account_actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_action_triggers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_attributes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_chargers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_destination_rates":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_dispatcher_hosts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_dispatcher_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_filters":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rankings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rates":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rating_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rating_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_resources":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_routes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_shared_groups":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_stats":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_thresholds":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_timings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_trends":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*versions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false}},"opts":{"internalDBBackupPath":"/var/lib/cgrates/internal_db/backup/stordb","internalDBDumpInterval":0,"internalDBDumpPath":"/var/lib/cgrates/internal_db/stordb","internalDBRewriteInterval":0,"internalDBStartTimeout":300000000000,"internalDBWriteLimit":100,"mongoConnScheme":"mongodb","mongoQueryTimeout":"10s","mysqlDSNParams":{},"mysqlLocation":"Local","pgSSLMode":"disable","pgSchema":"","sqlConnMaxLifetime":"0s","sqlLogLevel":3,"sqlMaxIdleConns":10,"sqlMaxOpenConns":100},"prefix_indexed_fields":[],"remote_conns":null,"replication_conns":null,"string_indexed_fields":[]}}` cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfigAsJSON(context.Background(), &SectionWithAPIOpts{Section: STORDB_JSN}, &reply); err != nil { t.Error(err) @@ -5269,7 +5275,7 @@ func TestV1GetConfigAsJSONAllConfig(t *testing.T) { }` var reply string cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSON) - expected := `{"analyzers":{"cleanup_interval":"1h0m0s","db_path":"/var/spool/cgrates/analyzers","enabled":false,"index_type":"*scorch","ttl":"24h0m0s"},"apiban":{"keys":[]},"apiers":{"attributes_conns":[],"caches_conns":["*internal"],"ees_conns":[],"enabled":false,"scheduler_conns":[]},"asterisk_agent":{"asterisk_conns":[{"address":"127.0.0.1:8088","alias":"","connect_attempts":3,"max_reconnect_interval":"0s","password":"CGRateS.org","reconnects":5,"user":"cgrates"}],"create_cdr":false,"enabled":false,"sessions_conns":["*birpc_internal"]},"attributes":{"any_context":true,"apiers_conns":[],"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*processRuns":1,"*profileIDs":[],"*profileIgnoreFilters":false,"*profileRuns":0},"prefix_indexed_fields":[],"resources_conns":[],"stats_conns":[],"suffix_indexed_fields":[]},"caches":{"partitions":{"*account_action_plans":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*action_plans":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*action_triggers":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*actions":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*apiban":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"2m0s"},"*attribute_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*attribute_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*caps_events":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*cdr_ids":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"10m0s"},"*charger_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*charger_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*closed_sessions":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"10s"},"*destinations":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*diameter_messages":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"3h0m0s"},"*dispatcher_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_hosts":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_loads":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_routes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatchers":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*event_charges":{"limit":0,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"10s"},"*event_resources":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*filters":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*load_ids":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*radius_packets":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"3h0m0s"},"*ranking_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rankings":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rating_plans":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rating_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*replication_hosts":{"limit":0,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*resource_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*resource_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*resources":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*reverse_destinations":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*reverse_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*route_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*route_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rpc_connections":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rpc_responses":{"limit":0,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"2s"},"*sentrypeer":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":true,"ttl":"24h0m0s"},"*shared_groups":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*stat_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*statqueue_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*statqueues":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*stir":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"3h0m0s"},"*threshold_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*threshold_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*thresholds":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*timings":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*trend_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*trends":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*uch":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"3h0m0s"}},"remote_conns":[],"replication_conns":[]},"cdrs":{"attributes_conns":[],"chargers_conns":[],"compress_stored_cost":false,"ees_conns":[],"enabled":false,"extra_fields":[],"online_cdr_exports":[],"rals_conns":[],"scheduler_conns":[],"session_cost_retries":5,"stats_conns":[],"store_cdrs":true,"thresholds_conns":[]},"chargers":{"attributes_conns":[],"enabled":false,"indexed_selects":true,"nested_fields":false,"prefix_indexed_fields":[],"suffix_indexed_fields":[]},"configs":{"enabled":false,"root_dir":"/var/spool/cgrates/configs","url":"/configs/"},"cores":{"caps":0,"caps_stats_interval":"0","caps_strategy":"*busy","shutdown_timeout":"1s"},"data_db":{"db_host":"127.0.0.1","db_name":"10","db_password":"","db_port":6379,"db_type":"*redis","db_user":"cgrates","items":{"*account_action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*accounts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*action_triggers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*attribute_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*attribute_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*charger_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*charger_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_hosts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*filters":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*load_ids":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*ranking_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rankings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rating_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rating_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resource_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resource_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resources":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*reverse_destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*reverse_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*route_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*route_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*sessions_backup":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*shared_groups":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*stat_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*statqueue_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*statqueues":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*threshold_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*threshold_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*thresholds":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*timings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*trend_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*trends":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*versions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false}},"opts":{"mongoConnScheme":"mongodb","mongoQueryTimeout":"10s","redisCACertificate":"","redisClientCertificate":"","redisClientKey":"","redisCluster":false,"redisClusterOndownDelay":"0s","redisClusterSync":"5s","redisConnectAttempts":20,"redisConnectTimeout":"0s","redisMaxConns":10,"redisPoolPipelineLimit":0,"redisPoolPipelineWindow":"150µs","redisReadTimeout":"0s","redisSentinel":"","redisTLS":false,"redisWriteTimeout":"0s"},"remote_conn_id":"","remote_conns":[],"replication_cache":"","replication_conns":[],"replication_filtered":false},"diameter_agent":{"asr_template":"","dictionaries_path":"/usr/share/cgrates/diameter/dict/","enabled":false,"forced_disconnect":"*none","listen":"127.0.0.1:3868","listen_net":"tcp","origin_host":"CGR-DA","origin_realm":"cgrates.org","product_name":"CGRateS","rar_template":"","request_processors":[],"sessions_conns":["*birpc_internal"],"synced_conn_requests":false,"vendor_id":0},"dispatchers":{"any_subsystem":true,"attributes_conns":[],"enabled":false,"indexed_selects":true,"nested_fields":false,"prefix_indexed_fields":[],"prevent_loop":false,"suffix_indexed_fields":[]},"dns_agent":{"enabled":false,"listeners":[{"address":"127.0.0.1:53","network":"udp"}],"request_processors":[],"sessions_conns":["*internal"],"timezone":""},"ees":{"attributes_conns":[],"cache":{"*amqp_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*amqpv1_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*els":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*file_csv":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"5s"},"*kafka_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*nats_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*s3_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*sql":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*sqs_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false}},"enabled":false,"exporters":[{"attempts":1,"attribute_context":"","attribute_ids":[],"concurrent_requests":0,"export_path":"/var/spool/cgrates/ees","failed_posts_dir":"/var/spool/cgrates/failed_posts","fields":[],"filters":[],"flags":[],"id":"*default","metrics_reset_schedule":"","opts":{},"synchronous":false,"timezone":"","type":"*none"}]},"ers":{"concurrent_events":1,"ees_conns":[],"enabled":false,"partial_cache_ttl":"1s","readers":[{"cache_dump_fields":[],"concurrent_requests":1024,"fields":[{"mandatory":true,"path":"*cgreq.ToR","tag":"ToR","type":"*variable","value":"~*req.2"},{"mandatory":true,"path":"*cgreq.OriginID","tag":"OriginID","type":"*variable","value":"~*req.3"},{"mandatory":true,"path":"*cgreq.RequestType","tag":"RequestType","type":"*variable","value":"~*req.4"},{"mandatory":true,"path":"*cgreq.Tenant","tag":"Tenant","type":"*variable","value":"~*req.6"},{"mandatory":true,"path":"*cgreq.Category","tag":"Category","type":"*variable","value":"~*req.7"},{"mandatory":true,"path":"*cgreq.Account","tag":"Account","type":"*variable","value":"~*req.8"},{"mandatory":true,"path":"*cgreq.Subject","tag":"Subject","type":"*variable","value":"~*req.9"},{"mandatory":true,"path":"*cgreq.Destination","tag":"Destination","type":"*variable","value":"~*req.10"},{"mandatory":true,"path":"*cgreq.SetupTime","tag":"SetupTime","type":"*variable","value":"~*req.11"},{"mandatory":true,"path":"*cgreq.AnswerTime","tag":"AnswerTime","type":"*variable","value":"~*req.12"},{"mandatory":true,"path":"*cgreq.Usage","tag":"Usage","type":"*variable","value":"~*req.13"}],"filters":[],"flags":[],"id":"*default","max_reconnect_interval":"5m0s","opts":{"csvFieldSeparator":",","csvHeaderDefineChar":":","csvRowLength":0,"natsSubject":"cgrates_cdrs","partialCacheAction":"*none","partialOrderField":"~*req.AnswerTime"},"partial_commit_fields":[],"processed_path":"/var/spool/cgrates/ers/out","reconnects":-1,"run_delay":"0","source_path":"/var/spool/cgrates/ers/in","start_delay":"0","tenant":"","timezone":"","type":"*none"}],"sessions_conns":["*internal"]},"filters":{"apiers_conns":[],"rankings_conns":[],"resources_conns":[],"stats_conns":[],"trends_conns":[]},"freeswitch_agent":{"active_session_delimiter":",","create_cdr":false,"empty_balance_ann_file":"","empty_balance_context":"","enabled":false,"event_socket_conns":[{"address":"127.0.0.1:8021","alias":"127.0.0.1:8021","max_reconnect_interval":"0s","password":"ClueCon","reconnects":5,"reply_timeout":"1m0s"}],"extra_fields":"","low_balance_ann_file":"","max_wait_connection":"2s","sessions_conns":["*birpc_internal"],"subscribe_park":true},"general":{"caching_delay":"0","connect_attempts":5,"connect_timeout":"1s","dbdata_encoding":"*msgpack","default_caching":"*reload","default_category":"call","default_request_type":"*rated","default_tenant":"cgrates.org","default_timezone":"Local","digest_equal":":","digest_separator":",","failed_posts_dir":"/var/spool/cgrates/failed_posts","failed_posts_ttl":"5s","locking_timeout":"0","log_level":6,"logger":"*syslog","max_parallel_conns":100,"max_reconnect_interval":"0","node_id":"ENGINE1","poster_attempts":3,"reconnects":-1,"reply_timeout":"2s","rounding_decimals":5,"rsr_separator":";","tpexport_dir":"/var/spool/cgrates/tpe"},"http":{"auth_users":{},"client_opts":{"dialFallbackDelay":"300ms","dialKeepAlive":"30s","dialTimeout":"30s","disableCompression":false,"disableKeepAlives":false,"expectContinueTimeout":"0s","forceAttemptHttp2":true,"idleConnTimeout":"1m30s","maxConnsPerHost":0,"maxIdleConns":100,"maxIdleConnsPerHost":2,"responseHeaderTimeout":"0s","skipTlsVerify":false,"tlsHandshakeTimeout":"10s"},"freeswitch_cdrs_url":"/freeswitch_json","http_cdrs":"/cdr_http","json_rpc_url":"/jsonrpc","pprof_path":"/debug/pprof/","registrars_url":"/registrar","use_basic_auth":false,"ws_url":"/ws"},"http_agent":[],"kamailio_agent":{"create_cdr":false,"enabled":false,"evapi_conns":[{"address":"127.0.0.1:8448","alias":"","max_reconnect_interval":"0s","reconnects":5}],"sessions_conns":["*birpc_internal"],"timezone":""},"listen":{"http":"127.0.0.1:2080","http_tls":"127.0.0.1:2280","rpc_gob":"127.0.0.1:2013","rpc_gob_tls":"127.0.0.1:2023","rpc_json":"127.0.0.1:2012","rpc_json_tls":"127.0.0.1:2022"},"loader":{"caches_conns":["*localhost"],"data_path":"./","disable_reverse":false,"field_separator":",","gapi_credentials":".gapi/credentials.json","gapi_token":".gapi/token.json","scheduler_conns":["*localhost"],"tpid":""},"loaders":[{"caches_conns":["*internal"],"data":[{"fields":[{"mandatory":true,"path":"Tenant","tag":"TenantID","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ProfileID","type":"*variable","value":"~*req.1"},{"path":"Contexts","tag":"Contexts","type":"*variable","value":"~*req.2"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.3"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.4"},{"path":"AttributeFilterIDs","tag":"AttributeFilterIDs","type":"*variable","value":"~*req.5"},{"path":"Path","tag":"Path","type":"*variable","value":"~*req.6"},{"path":"Type","tag":"Type","type":"*variable","value":"~*req.7"},{"path":"Value","tag":"Value","type":"*variable","value":"~*req.8"},{"path":"Blocker","tag":"Blocker","type":"*variable","value":"~*req.9"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.10"}],"file_name":"Attributes.csv","flags":null,"type":"*attributes"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"Type","tag":"Type","type":"*variable","value":"~*req.2"},{"path":"Element","tag":"Element","type":"*variable","value":"~*req.3"},{"path":"Values","tag":"Values","type":"*variable","value":"~*req.4"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.5"}],"file_name":"Filters.csv","flags":null,"type":"*filters"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"UsageTTL","tag":"TTL","type":"*variable","value":"~*req.4"},{"path":"Limit","tag":"Limit","type":"*variable","value":"~*req.5"},{"path":"AllocationMessage","tag":"AllocationMessage","type":"*variable","value":"~*req.6"},{"path":"Blocker","tag":"Blocker","type":"*variable","value":"~*req.7"},{"path":"Stored","tag":"Stored","type":"*variable","value":"~*req.8"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.9"},{"path":"ThresholdIDs","tag":"ThresholdIDs","type":"*variable","value":"~*req.10"}],"file_name":"Resources.csv","flags":null,"type":"*resources"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"QueueLength","tag":"QueueLength","type":"*variable","value":"~*req.4"},{"path":"TTL","tag":"TTL","type":"*variable","value":"~*req.5"},{"path":"MinItems","tag":"MinItems","type":"*variable","value":"~*req.6"},{"path":"MetricIDs","tag":"MetricIDs","type":"*variable","value":"~*req.7"},{"path":"MetricFilterIDs","tag":"MetricFilterIDs","type":"*variable","value":"~*req.8"},{"path":"Blocker","tag":"Blocker","type":"*variable","value":"~*req.9"},{"path":"Stored","tag":"Stored","type":"*variable","value":"~*req.10"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.11"},{"path":"ThresholdIDs","tag":"ThresholdIDs","type":"*variable","value":"~*req.12"}],"file_name":"Stats.csv","flags":null,"type":"*stats"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"MaxHits","tag":"MaxHits","type":"*variable","value":"~*req.4"},{"path":"MinHits","tag":"MinHits","type":"*variable","value":"~*req.5"},{"path":"MinSleep","tag":"MinSleep","type":"*variable","value":"~*req.6"},{"path":"Blocker","tag":"Blocker","type":"*variable","value":"~*req.7"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.8"},{"path":"ActionIDs","tag":"ActionIDs","type":"*variable","value":"~*req.9"},{"path":"Async","tag":"Async","type":"*variable","value":"~*req.10"}],"file_name":"Thresholds.csv","flags":null,"type":"*thresholds"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"Sorting","tag":"Sorting","type":"*variable","value":"~*req.4"},{"path":"SortingParameters","tag":"SortingParameters","type":"*variable","value":"~*req.5"},{"path":"RouteID","tag":"RouteID","type":"*variable","value":"~*req.6"},{"path":"RouteFilterIDs","tag":"RouteFilterIDs","type":"*variable","value":"~*req.7"},{"path":"RouteAccountIDs","tag":"RouteAccountIDs","type":"*variable","value":"~*req.8"},{"path":"RouteRatingPlanIDs","tag":"RouteRatingPlanIDs","type":"*variable","value":"~*req.9"},{"path":"RouteResourceIDs","tag":"RouteResourceIDs","type":"*variable","value":"~*req.10"},{"path":"RouteStatIDs","tag":"RouteStatIDs","type":"*variable","value":"~*req.11"},{"path":"RouteWeight","tag":"RouteWeight","type":"*variable","value":"~*req.12"},{"path":"RouteBlocker","tag":"RouteBlocker","type":"*variable","value":"~*req.13"},{"path":"RouteParameters","tag":"RouteParameters","type":"*variable","value":"~*req.14"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.15"}],"file_name":"Routes.csv","flags":null,"type":"*routes"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"RunID","tag":"RunID","type":"*variable","value":"~*req.4"},{"path":"AttributeIDs","tag":"AttributeIDs","type":"*variable","value":"~*req.5"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.6"}],"file_name":"Chargers.csv","flags":null,"type":"*chargers"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"Contexts","tag":"Contexts","type":"*variable","value":"~*req.2"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.3"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.4"},{"path":"Strategy","tag":"Strategy","type":"*variable","value":"~*req.5"},{"path":"StrategyParameters","tag":"StrategyParameters","type":"*variable","value":"~*req.6"},{"path":"ConnID","tag":"ConnID","type":"*variable","value":"~*req.7"},{"path":"ConnFilterIDs","tag":"ConnFilterIDs","type":"*variable","value":"~*req.8"},{"path":"ConnWeight","tag":"ConnWeight","type":"*variable","value":"~*req.9"},{"path":"ConnBlocker","tag":"ConnBlocker","type":"*variable","value":"~*req.10"},{"path":"ConnParameters","tag":"ConnParameters","type":"*variable","value":"~*req.11"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.12"}],"file_name":"DispatcherProfiles.csv","flags":null,"type":"*dispatchers"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"Address","tag":"Address","type":"*variable","value":"~*req.2"},{"path":"Transport","tag":"Transport","type":"*variable","value":"~*req.3"},{"path":"ConnectAttempts","tag":"ConnectAttempts","type":"*variable","value":"~*req.4"},{"path":"Reconnects","tag":"Reconnects","type":"*variable","value":"~*req.5"},{"path":"MaxReconnectInterval","tag":"MaxReconnectInterval","type":"*variable","value":"~*req.6"},{"path":"ConnectTimeout","tag":"ConnectTimeout","type":"*variable","value":"~*req.7"},{"path":"ReplyTimeout","tag":"ReplyTimeout","type":"*variable","value":"~*req.8"},{"path":"TLS","tag":"TLS","type":"*variable","value":"~*req.9"},{"path":"ClientKey","tag":"ClientKey","type":"*variable","value":"~*req.10"},{"path":"ClientCertificate","tag":"ClientCertificate","type":"*variable","value":"~*req.11"},{"path":"CaCertificate","tag":"CaCertificate","type":"*variable","value":"~*req.12"}],"file_name":"DispatcherHosts.csv","flags":null,"type":"*dispatcher_hosts"}],"dry_run":false,"enabled":false,"field_separator":",","id":"*default","lockfile_path":".cgr.lck","run_delay":"0","tenant":"","tp_in_dir":"/var/spool/cgrates/loader/in","tp_out_dir":"/var/spool/cgrates/loader/out"}],"mailer":{"auth_password":"CGRateS.org","auth_user":"cgrates","from_address":"cgr-mailer@localhost.localdomain","server":"localhost"},"migrator":{"out_datadb_encoding":"msgpack","out_datadb_host":"127.0.0.1","out_datadb_name":"10","out_datadb_opts":{"mongoConnScheme":"mongodb","mongoQueryTimeout":"0s","redisCACertificate":"","redisClientCertificate":"","redisClientKey":"","redisCluster":false,"redisClusterOndownDelay":"0s","redisClusterSync":"5s","redisConnectAttempts":20,"redisConnectTimeout":"0s","redisMaxConns":10,"redisPoolPipelineLimit":0,"redisPoolPipelineWindow":"150µs","redisReadTimeout":"0s","redisSentinel":"","redisTLS":false,"redisWriteTimeout":"0s"},"out_datadb_password":"","out_datadb_port":"6379","out_datadb_type":"*redis","out_datadb_user":"cgrates","out_stordb_host":"127.0.0.1","out_stordb_name":"cgrates","out_stordb_opts":{"mongoConnScheme":"mongodb","mongoQueryTimeout":"0s","mysqlDSNParams":null,"mysqlLocation":"","pgSSLMode":"","sqlConnMaxLifetime":"0s","sqlMaxIdleConns":0,"sqlMaxOpenConns":0},"out_stordb_password":"","out_stordb_port":"3306","out_stordb_type":"*mysql","out_stordb_user":"cgrates","users_filters":null},"prometheus_agent":{"collect_go_metrics":false,"collect_process_metrics":false,"cores_conns":null,"enabled":false,"path":"/prometheus","stat_queue_ids":null,"stats_conns":null},"radius_agent":{"client_dictionaries":{"*default":["/usr/share/cgrates/radius/dict/"]},"client_secrets":{"*default":"CGRateS.org"},"coa_template":"*coa","dmr_template":"*dmr","enabled":false,"listeners":[{"acct_address":"127.0.0.1:1813","auth_address":"127.0.0.1:1812","network":"udp"}],"request_processors":[],"requests_cache_key":"","sessions_conns":["*internal"]},"rals":{"balance_rating_subject":{"*any":"*zero1ns","*voice":"*zero1s"},"enabled":false,"fallback_depth":3,"max_computed_usage":{"*any":"189h0m0s","*data":"107374182400","*mms":"10000","*sms":"10000","*voice":"72h0m0s"},"max_increments":1000000,"remove_expired":true,"rp_subject_prefix_matching":false,"sessions_conns":[],"stats_conns":[],"thresholds_conns":[]},"rankings":{"ees_conns":[],"ees_exporter_ids":[],"enabled":false,"scheduled_ids":{},"stats_conns":[],"store_interval":"","thresholds_conns":[]},"registrarc":{"dispatchers":{"hosts":[],"refresh_interval":"5m0s","registrars_conns":[]},"rpc":{"hosts":[],"refresh_interval":"5m0s","registrars_conns":[]}},"resources":{"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*units":1,"*usageID":""},"prefix_indexed_fields":[],"store_interval":"","suffix_indexed_fields":[],"thresholds_conns":[]},"routes":{"attributes_conns":[],"default_ratio":1,"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*context":"*routes","*ignoreErrors":false,"*maxCost":""},"prefix_indexed_fields":[],"rals_conns":[],"resources_conns":[],"stats_conns":[],"suffix_indexed_fields":[]},"rpc_conns":{"*bijson_localhost":{"conns":[{"address":"127.0.0.1:2014","transport":"*birpc_json"}],"poolSize":0,"strategy":"*first"},"*birpc_internal":{"conns":[{"address":"*birpc_internal","transport":""}],"poolSize":0,"strategy":"*first"},"*internal":{"conns":[{"address":"*internal","transport":""}],"poolSize":0,"strategy":"*first"},"*localhost":{"conns":[{"address":"127.0.0.1:2012","transport":"*json"}],"poolSize":0,"strategy":"*first"}},"schedulers":{"cdrs_conns":[],"dynaprepaid_actionplans":[],"enabled":false,"filters":[],"stats_conns":[],"thresholds_conns":[]},"sentrypeer":{"Audience":"https://sentrypeer.com/api","ClientID":"","ClientSecret":"","GrantType":"client_credentials","IpUrl":"https://sentrypeer.com/api/ip-addresses","NumberUrl":"https://sentrypeer.com/api/phone-numbers","TokenURL":"https://authz.sentrypeer.com/oauth/token"},"sessions":{"alterable_fields":[],"attributes_conns":[],"backup_interval":"0","cdrs_conns":[],"channel_sync_interval":"0","chargers_conns":[],"client_protocol":2,"debit_interval":"0","default_usage":{"*any":"3h0m0s","*data":"1048576","*sms":"1","*voice":"3h0m0s"},"enabled":false,"listen_bigob":"","listen_bijson":"127.0.0.1:2014","min_dur_low_balance":"0","rals_conns":[],"replication_conns":[],"resources_conns":[],"routes_conns":[],"scheduler_conns":[],"session_indexes":[],"session_ttl":"0","stale_chan_max_extra_usage":"0","stats_conns":[],"stir":{"allowed_attest":["*any"],"default_attest":"A","payload_maxduration":"-1","privatekey_path":"","publickey_path":""},"store_session_costs":false,"terminate_attempts":5,"thresholds_conns":[]},"sip_agent":{"enabled":false,"listen":"127.0.0.1:5060","listen_net":"udp","request_processors":[],"retransmission_timer":1000000000,"sessions_conns":["*internal"],"timezone":""},"stats":{"ees_conns":[],"ees_exporter_ids":[],"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*profileIDs":[],"*profileIgnoreFilters":false},"prefix_indexed_fields":[],"store_interval":"","store_uncompressed_limit":0,"suffix_indexed_fields":[],"thresholds_conns":[]},"stor_db":{"db_host":"127.0.0.1","db_name":"cgrates","db_password":"CGRateS.org","db_port":3306,"db_type":"*mysql","db_user":"cgrates","items":{"*cdrs":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*session_costs":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_account_actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_action_triggers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_attributes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_chargers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_destination_rates":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_dispatcher_hosts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_dispatcher_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_filters":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rankings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rates":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rating_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rating_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_resources":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_routes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_shared_groups":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_stats":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_thresholds":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_timings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_trends":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*versions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false}},"opts":{"mongoConnScheme":"mongodb","mongoQueryTimeout":"10s","mysqlDSNParams":{},"mysqlLocation":"Local","pgSSLMode":"disable","pgSchema":"","sqlConnMaxLifetime":"0s","sqlLogLevel":3,"sqlMaxIdleConns":10,"sqlMaxOpenConns":100},"prefix_indexed_fields":[],"remote_conns":null,"replication_conns":null,"string_indexed_fields":[]},"suretax":{"bill_to_number":"","business_unit":"","client_number":"","client_tracking":"~*req.CGRID","customer_number":"~*req.Subject","include_local_cost":false,"orig_number":"~*req.Subject","p2pplus4":"","p2pzipcode":"","plus4":"","regulatory_code":"03","response_group":"03","response_type":"D4","return_file_code":"0","sales_type_code":"R","tax_exemption_code_list":"","tax_included":"0","tax_situs_rule":"04","term_number":"~*req.Destination","timezone":"UTC","trans_type_code":"010101","unit_type":"00","units":"1","url":"","validation_key":"","zipcode":""},"templates":{"*asr":[{"mandatory":true,"path":"*diamreq.Session-Id","tag":"SessionId","type":"*variable","value":"~*req.Session-Id"},{"mandatory":true,"path":"*diamreq.Origin-Host","tag":"OriginHost","type":"*variable","value":"~*req.Destination-Host"},{"mandatory":true,"path":"*diamreq.Origin-Realm","tag":"OriginRealm","type":"*variable","value":"~*req.Destination-Realm"},{"mandatory":true,"path":"*diamreq.Destination-Realm","tag":"DestinationRealm","type":"*variable","value":"~*req.Origin-Realm"},{"mandatory":true,"path":"*diamreq.Destination-Host","tag":"DestinationHost","type":"*variable","value":"~*req.Origin-Host"},{"mandatory":true,"path":"*diamreq.Auth-Application-Id","tag":"AuthApplicationId","type":"*variable","value":"~*vars.*appid"}],"*cca":[{"mandatory":true,"path":"*rep.Session-Id","tag":"SessionId","type":"*variable","value":"~*req.Session-Id"},{"path":"*rep.Result-Code","tag":"ResultCode","type":"*constant","value":"2001"},{"mandatory":true,"path":"*rep.Origin-Host","tag":"OriginHost","type":"*variable","value":"~*vars.OriginHost"},{"mandatory":true,"path":"*rep.Origin-Realm","tag":"OriginRealm","type":"*variable","value":"~*vars.OriginRealm"},{"mandatory":true,"path":"*rep.Auth-Application-Id","tag":"AuthApplicationId","type":"*variable","value":"~*vars.*appid"},{"mandatory":true,"path":"*rep.CC-Request-Type","tag":"CCRequestType","type":"*variable","value":"~*req.CC-Request-Type"},{"mandatory":true,"path":"*rep.CC-Request-Number","tag":"CCRequestNumber","type":"*variable","value":"~*req.CC-Request-Number"}],"*cdrLog":[{"mandatory":true,"path":"*cdr.ToR","tag":"ToR","type":"*variable","value":"~*req.BalanceType"},{"mandatory":true,"path":"*cdr.OriginHost","tag":"OriginHost","type":"*constant","value":"127.0.0.1"},{"mandatory":true,"path":"*cdr.RequestType","tag":"RequestType","type":"*constant","value":"*none"},{"mandatory":true,"path":"*cdr.Tenant","tag":"Tenant","type":"*variable","value":"~*req.Tenant"},{"mandatory":true,"path":"*cdr.Account","tag":"Account","type":"*variable","value":"~*req.Account"},{"mandatory":true,"path":"*cdr.Subject","tag":"Subject","type":"*variable","value":"~*req.Account"},{"mandatory":true,"path":"*cdr.Cost","tag":"Cost","type":"*variable","value":"~*req.Cost"},{"mandatory":true,"path":"*cdr.Source","tag":"Source","type":"*constant","value":"*cdrLog"},{"mandatory":true,"path":"*cdr.Usage","tag":"Usage","type":"*constant","value":"1"},{"mandatory":true,"path":"*cdr.RunID","tag":"RunID","type":"*variable","value":"~*req.ActionType"},{"mandatory":true,"path":"*cdr.SetupTime","tag":"SetupTime","type":"*constant","value":"*now"},{"mandatory":true,"path":"*cdr.AnswerTime","tag":"AnswerTime","type":"*constant","value":"*now"},{"mandatory":true,"path":"*cdr.PreRated","tag":"PreRated","type":"*constant","value":"true"}],"*coa":[{"path":"*radDAReq.User-Name","tag":"User-Name","type":"*variable","value":"~*oreq.User-Name"},{"path":"*radDAReq.NAS-IP-Address","tag":"NAS-IP-Address","type":"*variable","value":"~*oreq.NAS-IP-Address"},{"path":"*radDAReq.Acct-Session-Id","tag":"Acct-Session-Id","type":"*variable","value":"~*oreq.Acct-Session-Id"},{"path":"*radDAReq.Filter-Id","tag":"Filter-Id","type":"*variable","value":"~*req.CustomFilter"}],"*dmr":[{"path":"*radDAReq.User-Name","tag":"User-Name","type":"*variable","value":"~*oreq.User-Name"},{"path":"*radDAReq.NAS-IP-Address","tag":"NAS-IP-Address","type":"*variable","value":"~*oreq.NAS-IP-Address"},{"path":"*radDAReq.Acct-Session-Id","tag":"Acct-Session-Id","type":"*variable","value":"~*oreq.Acct-Session-Id"},{"path":"*radDAReq.Reply-Message","tag":"Reply-Message","type":"*variable","value":"~*req.DisconnectCause"}],"*err":[{"mandatory":true,"path":"*rep.Session-Id","tag":"SessionId","type":"*variable","value":"~*req.Session-Id"},{"mandatory":true,"path":"*rep.Origin-Host","tag":"OriginHost","type":"*variable","value":"~*vars.OriginHost"},{"mandatory":true,"path":"*rep.Origin-Realm","tag":"OriginRealm","type":"*variable","value":"~*vars.OriginRealm"}],"*errSip":[{"mandatory":true,"path":"*rep.Request","tag":"Request","type":"*constant","value":"SIP/2.0 500 Internal Server Error"}],"*rar":[{"mandatory":true,"path":"*diamreq.Session-Id","tag":"SessionId","type":"*variable","value":"~*req.Session-Id"},{"mandatory":true,"path":"*diamreq.Origin-Host","tag":"OriginHost","type":"*variable","value":"~*req.Destination-Host"},{"mandatory":true,"path":"*diamreq.Origin-Realm","tag":"OriginRealm","type":"*variable","value":"~*req.Destination-Realm"},{"mandatory":true,"path":"*diamreq.Destination-Realm","tag":"DestinationRealm","type":"*variable","value":"~*req.Origin-Realm"},{"mandatory":true,"path":"*diamreq.Destination-Host","tag":"DestinationHost","type":"*variable","value":"~*req.Origin-Host"},{"mandatory":true,"path":"*diamreq.Auth-Application-Id","tag":"AuthApplicationId","type":"*variable","value":"~*vars.*appid"},{"path":"*diamreq.Re-Auth-Request-Type","tag":"ReAuthRequestType","type":"*constant","value":"0"}]},"thresholds":{"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*profileIDs":[],"*profileIgnoreFilters":false},"prefix_indexed_fields":[],"store_interval":"","suffix_indexed_fields":[]},"tls":{"ca_certificate":"","client_certificate":"","client_key":"","server_certificate":"","server_key":"","server_name":"","server_policy":4},"trends":{"ees_conns":[],"ees_exporter_ids":[],"enabled":false,"scheduled_ids":{},"stats_conns":[],"store_interval":"","store_uncompressed_limit":0,"thresholds_conns":[]}}` + expected := `{"analyzers":{"cleanup_interval":"1h0m0s","db_path":"/var/spool/cgrates/analyzers","enabled":false,"index_type":"*scorch","ttl":"24h0m0s"},"apiban":{"keys":[]},"apiers":{"attributes_conns":[],"caches_conns":["*internal"],"ees_conns":[],"enabled":false,"scheduler_conns":[]},"asterisk_agent":{"asterisk_conns":[{"address":"127.0.0.1:8088","alias":"","connect_attempts":3,"max_reconnect_interval":"0s","password":"CGRateS.org","reconnects":5,"user":"cgrates"}],"create_cdr":false,"enabled":false,"sessions_conns":["*birpc_internal"]},"attributes":{"any_context":true,"apiers_conns":[],"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*processRuns":1,"*profileIDs":[],"*profileIgnoreFilters":false,"*profileRuns":0},"prefix_indexed_fields":[],"resources_conns":[],"stats_conns":[],"suffix_indexed_fields":[]},"caches":{"partitions":{"*account_action_plans":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*action_plans":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*action_triggers":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*actions":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*apiban":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"2m0s"},"*attribute_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*attribute_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*caps_events":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*cdr_ids":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"10m0s"},"*charger_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*charger_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*closed_sessions":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"10s"},"*destinations":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*diameter_messages":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"3h0m0s"},"*dispatcher_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_hosts":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_loads":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_routes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*dispatchers":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*event_charges":{"limit":0,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"10s"},"*event_resources":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*filters":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*load_ids":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*radius_packets":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"3h0m0s"},"*ranking_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rankings":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rating_plans":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rating_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*replication_hosts":{"limit":0,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*resource_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*resource_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*resources":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*reverse_destinations":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*reverse_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*route_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*route_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rpc_connections":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*rpc_responses":{"limit":0,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"2s"},"*sentrypeer":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":true,"ttl":"24h0m0s"},"*shared_groups":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*stat_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*statqueue_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*statqueues":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*stir":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"3h0m0s"},"*threshold_filter_indexes":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*threshold_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*thresholds":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*timings":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*trend_profiles":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*trends":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*uch":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"3h0m0s"}},"remote_conns":[],"replication_conns":[]},"cdrs":{"attributes_conns":[],"chargers_conns":[],"compress_stored_cost":false,"ees_conns":[],"enabled":false,"extra_fields":[],"online_cdr_exports":[],"rals_conns":[],"scheduler_conns":[],"session_cost_retries":5,"stats_conns":[],"store_cdrs":true,"thresholds_conns":[]},"chargers":{"attributes_conns":[],"enabled":false,"indexed_selects":true,"nested_fields":false,"prefix_indexed_fields":[],"suffix_indexed_fields":[]},"configs":{"enabled":false,"root_dir":"/var/spool/cgrates/configs","url":"/configs/"},"cores":{"caps":0,"caps_stats_interval":"0","caps_strategy":"*busy","shutdown_timeout":"1s"},"data_db":{"db_host":"127.0.0.1","db_name":"10","db_password":"","db_port":6379,"db_type":"*redis","db_user":"cgrates","items":{"*account_action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*accounts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*action_triggers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*attribute_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*attribute_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*charger_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*charger_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_hosts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*dispatcher_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*filters":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*load_ids":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*ranking_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rankings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rating_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*rating_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resource_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resource_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*resources":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*reverse_destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*reverse_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*route_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*route_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*sessions_backup":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*shared_groups":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*stat_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*statqueue_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*statqueues":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*threshold_filter_indexes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*threshold_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*thresholds":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*timings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*trend_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*trends":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*versions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false}},"opts":{"internalDBBackupPath":"/var/lib/cgrates/internal_db/backup/datadb","internalDBDumpInterval":0,"internalDBDumpPath":"/var/lib/cgrates/internal_db/datadb","internalDBRewriteInterval":0,"internalDBStartTimeout":300000000000,"internalDBWriteLimit":100,"mongoConnScheme":"mongodb","mongoQueryTimeout":"10s","redisCACertificate":"","redisClientCertificate":"","redisClientKey":"","redisCluster":false,"redisClusterOndownDelay":"0s","redisClusterSync":"5s","redisConnectAttempts":20,"redisConnectTimeout":"0s","redisMaxConns":10,"redisPoolPipelineLimit":0,"redisPoolPipelineWindow":"150µs","redisReadTimeout":"0s","redisSentinel":"","redisTLS":false,"redisWriteTimeout":"0s"},"remote_conn_id":"","remote_conns":[],"replication_cache":"","replication_conns":[],"replication_filtered":false},"diameter_agent":{"asr_template":"","dictionaries_path":"/usr/share/cgrates/diameter/dict/","enabled":false,"forced_disconnect":"*none","listen":"127.0.0.1:3868","listen_net":"tcp","origin_host":"CGR-DA","origin_realm":"cgrates.org","product_name":"CGRateS","rar_template":"","request_processors":[],"sessions_conns":["*birpc_internal"],"synced_conn_requests":false,"vendor_id":0},"dispatchers":{"any_subsystem":true,"attributes_conns":[],"enabled":false,"indexed_selects":true,"nested_fields":false,"prefix_indexed_fields":[],"prevent_loop":false,"suffix_indexed_fields":[]},"dns_agent":{"enabled":false,"listeners":[{"address":"127.0.0.1:53","network":"udp"}],"request_processors":[],"sessions_conns":["*internal"],"timezone":""},"ees":{"attributes_conns":[],"cache":{"*amqp_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*amqpv1_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*els":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*file_csv":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false,"ttl":"5s"},"*kafka_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*nats_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*s3_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*sql":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false},"*sqs_json_map":{"limit":-1,"precache":false,"remote":false,"replicate":false,"static_ttl":false}},"enabled":false,"exporters":[{"attempts":1,"attribute_context":"","attribute_ids":[],"concurrent_requests":0,"export_path":"/var/spool/cgrates/ees","failed_posts_dir":"/var/spool/cgrates/failed_posts","fields":[],"filters":[],"flags":[],"id":"*default","metrics_reset_schedule":"","opts":{},"synchronous":false,"timezone":"","type":"*none"}]},"ers":{"concurrent_events":1,"ees_conns":[],"enabled":false,"partial_cache_ttl":"1s","readers":[{"cache_dump_fields":[],"concurrent_requests":1024,"fields":[{"mandatory":true,"path":"*cgreq.ToR","tag":"ToR","type":"*variable","value":"~*req.2"},{"mandatory":true,"path":"*cgreq.OriginID","tag":"OriginID","type":"*variable","value":"~*req.3"},{"mandatory":true,"path":"*cgreq.RequestType","tag":"RequestType","type":"*variable","value":"~*req.4"},{"mandatory":true,"path":"*cgreq.Tenant","tag":"Tenant","type":"*variable","value":"~*req.6"},{"mandatory":true,"path":"*cgreq.Category","tag":"Category","type":"*variable","value":"~*req.7"},{"mandatory":true,"path":"*cgreq.Account","tag":"Account","type":"*variable","value":"~*req.8"},{"mandatory":true,"path":"*cgreq.Subject","tag":"Subject","type":"*variable","value":"~*req.9"},{"mandatory":true,"path":"*cgreq.Destination","tag":"Destination","type":"*variable","value":"~*req.10"},{"mandatory":true,"path":"*cgreq.SetupTime","tag":"SetupTime","type":"*variable","value":"~*req.11"},{"mandatory":true,"path":"*cgreq.AnswerTime","tag":"AnswerTime","type":"*variable","value":"~*req.12"},{"mandatory":true,"path":"*cgreq.Usage","tag":"Usage","type":"*variable","value":"~*req.13"}],"filters":[],"flags":[],"id":"*default","max_reconnect_interval":"5m0s","opts":{"csvFieldSeparator":",","csvHeaderDefineChar":":","csvRowLength":0,"natsSubject":"cgrates_cdrs","partialCacheAction":"*none","partialOrderField":"~*req.AnswerTime"},"partial_commit_fields":[],"processed_path":"/var/spool/cgrates/ers/out","reconnects":-1,"run_delay":"0","source_path":"/var/spool/cgrates/ers/in","start_delay":"0","tenant":"","timezone":"","type":"*none"}],"sessions_conns":["*internal"]},"filters":{"apiers_conns":[],"rankings_conns":[],"resources_conns":[],"stats_conns":[],"trends_conns":[]},"freeswitch_agent":{"active_session_delimiter":",","create_cdr":false,"empty_balance_ann_file":"","empty_balance_context":"","enabled":false,"event_socket_conns":[{"address":"127.0.0.1:8021","alias":"127.0.0.1:8021","max_reconnect_interval":"0s","password":"ClueCon","reconnects":5,"reply_timeout":"1m0s"}],"extra_fields":"","low_balance_ann_file":"","max_wait_connection":"2s","sessions_conns":["*birpc_internal"],"subscribe_park":true},"general":{"caching_delay":"0","connect_attempts":5,"connect_timeout":"1s","dbdata_encoding":"*msgpack","default_caching":"*reload","default_category":"call","default_request_type":"*rated","default_tenant":"cgrates.org","default_timezone":"Local","digest_equal":":","digest_separator":",","failed_posts_dir":"/var/spool/cgrates/failed_posts","failed_posts_ttl":"5s","locking_timeout":"0","log_level":6,"logger":"*syslog","max_parallel_conns":100,"max_reconnect_interval":"0","node_id":"ENGINE1","poster_attempts":3,"reconnects":-1,"reply_timeout":"2s","rounding_decimals":5,"rsr_separator":";","tpexport_dir":"/var/spool/cgrates/tpe"},"http":{"auth_users":{},"client_opts":{"dialFallbackDelay":"300ms","dialKeepAlive":"30s","dialTimeout":"30s","disableCompression":false,"disableKeepAlives":false,"expectContinueTimeout":"0s","forceAttemptHttp2":true,"idleConnTimeout":"1m30s","maxConnsPerHost":0,"maxIdleConns":100,"maxIdleConnsPerHost":2,"responseHeaderTimeout":"0s","skipTlsVerify":false,"tlsHandshakeTimeout":"10s"},"freeswitch_cdrs_url":"/freeswitch_json","http_cdrs":"/cdr_http","json_rpc_url":"/jsonrpc","pprof_path":"/debug/pprof/","registrars_url":"/registrar","use_basic_auth":false,"ws_url":"/ws"},"http_agent":[],"kamailio_agent":{"create_cdr":false,"enabled":false,"evapi_conns":[{"address":"127.0.0.1:8448","alias":"","max_reconnect_interval":"0s","reconnects":5}],"sessions_conns":["*birpc_internal"],"timezone":""},"listen":{"http":"127.0.0.1:2080","http_tls":"127.0.0.1:2280","rpc_gob":"127.0.0.1:2013","rpc_gob_tls":"127.0.0.1:2023","rpc_json":"127.0.0.1:2012","rpc_json_tls":"127.0.0.1:2022"},"loader":{"caches_conns":["*localhost"],"data_path":"./","disable_reverse":false,"field_separator":",","gapi_credentials":".gapi/credentials.json","gapi_token":".gapi/token.json","scheduler_conns":["*localhost"],"tpid":""},"loaders":[{"caches_conns":["*internal"],"data":[{"fields":[{"mandatory":true,"path":"Tenant","tag":"TenantID","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ProfileID","type":"*variable","value":"~*req.1"},{"path":"Contexts","tag":"Contexts","type":"*variable","value":"~*req.2"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.3"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.4"},{"path":"AttributeFilterIDs","tag":"AttributeFilterIDs","type":"*variable","value":"~*req.5"},{"path":"Path","tag":"Path","type":"*variable","value":"~*req.6"},{"path":"Type","tag":"Type","type":"*variable","value":"~*req.7"},{"path":"Value","tag":"Value","type":"*variable","value":"~*req.8"},{"path":"Blocker","tag":"Blocker","type":"*variable","value":"~*req.9"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.10"}],"file_name":"Attributes.csv","flags":null,"type":"*attributes"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"Type","tag":"Type","type":"*variable","value":"~*req.2"},{"path":"Element","tag":"Element","type":"*variable","value":"~*req.3"},{"path":"Values","tag":"Values","type":"*variable","value":"~*req.4"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.5"}],"file_name":"Filters.csv","flags":null,"type":"*filters"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"UsageTTL","tag":"TTL","type":"*variable","value":"~*req.4"},{"path":"Limit","tag":"Limit","type":"*variable","value":"~*req.5"},{"path":"AllocationMessage","tag":"AllocationMessage","type":"*variable","value":"~*req.6"},{"path":"Blocker","tag":"Blocker","type":"*variable","value":"~*req.7"},{"path":"Stored","tag":"Stored","type":"*variable","value":"~*req.8"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.9"},{"path":"ThresholdIDs","tag":"ThresholdIDs","type":"*variable","value":"~*req.10"}],"file_name":"Resources.csv","flags":null,"type":"*resources"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"QueueLength","tag":"QueueLength","type":"*variable","value":"~*req.4"},{"path":"TTL","tag":"TTL","type":"*variable","value":"~*req.5"},{"path":"MinItems","tag":"MinItems","type":"*variable","value":"~*req.6"},{"path":"MetricIDs","tag":"MetricIDs","type":"*variable","value":"~*req.7"},{"path":"MetricFilterIDs","tag":"MetricFilterIDs","type":"*variable","value":"~*req.8"},{"path":"Blocker","tag":"Blocker","type":"*variable","value":"~*req.9"},{"path":"Stored","tag":"Stored","type":"*variable","value":"~*req.10"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.11"},{"path":"ThresholdIDs","tag":"ThresholdIDs","type":"*variable","value":"~*req.12"}],"file_name":"Stats.csv","flags":null,"type":"*stats"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"MaxHits","tag":"MaxHits","type":"*variable","value":"~*req.4"},{"path":"MinHits","tag":"MinHits","type":"*variable","value":"~*req.5"},{"path":"MinSleep","tag":"MinSleep","type":"*variable","value":"~*req.6"},{"path":"Blocker","tag":"Blocker","type":"*variable","value":"~*req.7"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.8"},{"path":"ActionIDs","tag":"ActionIDs","type":"*variable","value":"~*req.9"},{"path":"Async","tag":"Async","type":"*variable","value":"~*req.10"}],"file_name":"Thresholds.csv","flags":null,"type":"*thresholds"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"Sorting","tag":"Sorting","type":"*variable","value":"~*req.4"},{"path":"SortingParameters","tag":"SortingParameters","type":"*variable","value":"~*req.5"},{"path":"RouteID","tag":"RouteID","type":"*variable","value":"~*req.6"},{"path":"RouteFilterIDs","tag":"RouteFilterIDs","type":"*variable","value":"~*req.7"},{"path":"RouteAccountIDs","tag":"RouteAccountIDs","type":"*variable","value":"~*req.8"},{"path":"RouteRatingPlanIDs","tag":"RouteRatingPlanIDs","type":"*variable","value":"~*req.9"},{"path":"RouteResourceIDs","tag":"RouteResourceIDs","type":"*variable","value":"~*req.10"},{"path":"RouteStatIDs","tag":"RouteStatIDs","type":"*variable","value":"~*req.11"},{"path":"RouteWeight","tag":"RouteWeight","type":"*variable","value":"~*req.12"},{"path":"RouteBlocker","tag":"RouteBlocker","type":"*variable","value":"~*req.13"},{"path":"RouteParameters","tag":"RouteParameters","type":"*variable","value":"~*req.14"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.15"}],"file_name":"Routes.csv","flags":null,"type":"*routes"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.2"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.3"},{"path":"RunID","tag":"RunID","type":"*variable","value":"~*req.4"},{"path":"AttributeIDs","tag":"AttributeIDs","type":"*variable","value":"~*req.5"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.6"}],"file_name":"Chargers.csv","flags":null,"type":"*chargers"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"Contexts","tag":"Contexts","type":"*variable","value":"~*req.2"},{"path":"FilterIDs","tag":"FilterIDs","type":"*variable","value":"~*req.3"},{"path":"ActivationInterval","tag":"ActivationInterval","type":"*variable","value":"~*req.4"},{"path":"Strategy","tag":"Strategy","type":"*variable","value":"~*req.5"},{"path":"StrategyParameters","tag":"StrategyParameters","type":"*variable","value":"~*req.6"},{"path":"ConnID","tag":"ConnID","type":"*variable","value":"~*req.7"},{"path":"ConnFilterIDs","tag":"ConnFilterIDs","type":"*variable","value":"~*req.8"},{"path":"ConnWeight","tag":"ConnWeight","type":"*variable","value":"~*req.9"},{"path":"ConnBlocker","tag":"ConnBlocker","type":"*variable","value":"~*req.10"},{"path":"ConnParameters","tag":"ConnParameters","type":"*variable","value":"~*req.11"},{"path":"Weight","tag":"Weight","type":"*variable","value":"~*req.12"}],"file_name":"DispatcherProfiles.csv","flags":null,"type":"*dispatchers"},{"fields":[{"mandatory":true,"path":"Tenant","tag":"Tenant","type":"*variable","value":"~*req.0"},{"mandatory":true,"path":"ID","tag":"ID","type":"*variable","value":"~*req.1"},{"path":"Address","tag":"Address","type":"*variable","value":"~*req.2"},{"path":"Transport","tag":"Transport","type":"*variable","value":"~*req.3"},{"path":"ConnectAttempts","tag":"ConnectAttempts","type":"*variable","value":"~*req.4"},{"path":"Reconnects","tag":"Reconnects","type":"*variable","value":"~*req.5"},{"path":"MaxReconnectInterval","tag":"MaxReconnectInterval","type":"*variable","value":"~*req.6"},{"path":"ConnectTimeout","tag":"ConnectTimeout","type":"*variable","value":"~*req.7"},{"path":"ReplyTimeout","tag":"ReplyTimeout","type":"*variable","value":"~*req.8"},{"path":"TLS","tag":"TLS","type":"*variable","value":"~*req.9"},{"path":"ClientKey","tag":"ClientKey","type":"*variable","value":"~*req.10"},{"path":"ClientCertificate","tag":"ClientCertificate","type":"*variable","value":"~*req.11"},{"path":"CaCertificate","tag":"CaCertificate","type":"*variable","value":"~*req.12"}],"file_name":"DispatcherHosts.csv","flags":null,"type":"*dispatcher_hosts"}],"dry_run":false,"enabled":false,"field_separator":",","id":"*default","lockfile_path":".cgr.lck","run_delay":"0","tenant":"","tp_in_dir":"/var/spool/cgrates/loader/in","tp_out_dir":"/var/spool/cgrates/loader/out"}],"mailer":{"auth_password":"CGRateS.org","auth_user":"cgrates","from_address":"cgr-mailer@localhost.localdomain","server":"localhost"},"migrator":{"out_datadb_encoding":"msgpack","out_datadb_host":"127.0.0.1","out_datadb_name":"10","out_datadb_opts":{"mongoConnScheme":"mongodb","mongoQueryTimeout":"0s","redisCACertificate":"","redisClientCertificate":"","redisClientKey":"","redisCluster":false,"redisClusterOndownDelay":"0s","redisClusterSync":"5s","redisConnectAttempts":20,"redisConnectTimeout":"0s","redisMaxConns":10,"redisPoolPipelineLimit":0,"redisPoolPipelineWindow":"150µs","redisReadTimeout":"0s","redisSentinel":"","redisTLS":false,"redisWriteTimeout":"0s"},"out_datadb_password":"","out_datadb_port":"6379","out_datadb_type":"*redis","out_datadb_user":"cgrates","out_stordb_host":"127.0.0.1","out_stordb_name":"cgrates","out_stordb_opts":{"mongoConnScheme":"mongodb","mongoQueryTimeout":"0s","mysqlDSNParams":null,"mysqlLocation":"","pgSSLMode":"","sqlConnMaxLifetime":"0s","sqlMaxIdleConns":0,"sqlMaxOpenConns":0},"out_stordb_password":"","out_stordb_port":"3306","out_stordb_type":"*mysql","out_stordb_user":"cgrates","users_filters":null},"prometheus_agent":{"collect_go_metrics":false,"collect_process_metrics":false,"cores_conns":null,"enabled":false,"path":"/prometheus","stat_queue_ids":null,"stats_conns":null},"radius_agent":{"client_dictionaries":{"*default":["/usr/share/cgrates/radius/dict/"]},"client_secrets":{"*default":"CGRateS.org"},"coa_template":"*coa","dmr_template":"*dmr","enabled":false,"listeners":[{"acct_address":"127.0.0.1:1813","auth_address":"127.0.0.1:1812","network":"udp"}],"request_processors":[],"requests_cache_key":"","sessions_conns":["*internal"]},"rals":{"balance_rating_subject":{"*any":"*zero1ns","*voice":"*zero1s"},"enabled":false,"fallback_depth":3,"max_computed_usage":{"*any":"189h0m0s","*data":"107374182400","*mms":"10000","*sms":"10000","*voice":"72h0m0s"},"max_increments":1000000,"remove_expired":true,"rp_subject_prefix_matching":false,"sessions_conns":[],"stats_conns":[],"thresholds_conns":[]},"rankings":{"ees_conns":[],"ees_exporter_ids":[],"enabled":false,"scheduled_ids":{},"stats_conns":[],"store_interval":"","thresholds_conns":[]},"registrarc":{"dispatchers":{"hosts":[],"refresh_interval":"5m0s","registrars_conns":[]},"rpc":{"hosts":[],"refresh_interval":"5m0s","registrars_conns":[]}},"resources":{"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*units":1,"*usageID":""},"prefix_indexed_fields":[],"store_interval":"","suffix_indexed_fields":[],"thresholds_conns":[]},"routes":{"attributes_conns":[],"default_ratio":1,"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*context":"*routes","*ignoreErrors":false,"*maxCost":""},"prefix_indexed_fields":[],"rals_conns":[],"resources_conns":[],"stats_conns":[],"suffix_indexed_fields":[]},"rpc_conns":{"*bijson_localhost":{"conns":[{"address":"127.0.0.1:2014","transport":"*birpc_json"}],"poolSize":0,"strategy":"*first"},"*birpc_internal":{"conns":[{"address":"*birpc_internal","transport":""}],"poolSize":0,"strategy":"*first"},"*internal":{"conns":[{"address":"*internal","transport":""}],"poolSize":0,"strategy":"*first"},"*localhost":{"conns":[{"address":"127.0.0.1:2012","transport":"*json"}],"poolSize":0,"strategy":"*first"}},"schedulers":{"cdrs_conns":[],"dynaprepaid_actionplans":[],"enabled":false,"filters":[],"stats_conns":[],"thresholds_conns":[]},"sentrypeer":{"Audience":"https://sentrypeer.com/api","ClientID":"","ClientSecret":"","GrantType":"client_credentials","IpUrl":"https://sentrypeer.com/api/ip-addresses","NumberUrl":"https://sentrypeer.com/api/phone-numbers","TokenURL":"https://authz.sentrypeer.com/oauth/token"},"sessions":{"alterable_fields":[],"attributes_conns":[],"backup_interval":"0","cdrs_conns":[],"channel_sync_interval":"0","chargers_conns":[],"client_protocol":2,"debit_interval":"0","default_usage":{"*any":"3h0m0s","*data":"1048576","*sms":"1","*voice":"3h0m0s"},"enabled":false,"listen_bigob":"","listen_bijson":"127.0.0.1:2014","min_dur_low_balance":"0","rals_conns":[],"replication_conns":[],"resources_conns":[],"routes_conns":[],"scheduler_conns":[],"session_indexes":[],"session_ttl":"0","stale_chan_max_extra_usage":"0","stats_conns":[],"stir":{"allowed_attest":["*any"],"default_attest":"A","payload_maxduration":"-1","privatekey_path":"","publickey_path":""},"store_session_costs":false,"terminate_attempts":5,"thresholds_conns":[]},"sip_agent":{"enabled":false,"listen":"127.0.0.1:5060","listen_net":"udp","request_processors":[],"retransmission_timer":1000000000,"sessions_conns":["*internal"],"timezone":""},"stats":{"ees_conns":[],"ees_exporter_ids":[],"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*profileIDs":[],"*profileIgnoreFilters":false},"prefix_indexed_fields":[],"store_interval":"","store_uncompressed_limit":0,"suffix_indexed_fields":[],"thresholds_conns":[]},"stor_db":{"db_host":"127.0.0.1","db_name":"cgrates","db_password":"CGRateS.org","db_port":3306,"db_type":"*mysql","db_user":"cgrates","items":{"*cdrs":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*session_costs":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_account_actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_action_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_action_triggers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_actions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_attributes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_chargers":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_destination_rates":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_destinations":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_dispatcher_hosts":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_dispatcher_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_filters":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rankings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rates":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rating_plans":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_rating_profiles":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_resources":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_routes":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_shared_groups":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_stats":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_thresholds":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_timings":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*tp_trends":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false},"*versions":{"limit":-1,"remote":false,"replicate":false,"static_ttl":false}},"opts":{"internalDBBackupPath":"/var/lib/cgrates/internal_db/backup/stordb","internalDBDumpInterval":0,"internalDBDumpPath":"/var/lib/cgrates/internal_db/stordb","internalDBRewriteInterval":0,"internalDBStartTimeout":300000000000,"internalDBWriteLimit":100,"mongoConnScheme":"mongodb","mongoQueryTimeout":"10s","mysqlDSNParams":{},"mysqlLocation":"Local","pgSSLMode":"disable","pgSchema":"","sqlConnMaxLifetime":"0s","sqlLogLevel":3,"sqlMaxIdleConns":10,"sqlMaxOpenConns":100},"prefix_indexed_fields":[],"remote_conns":null,"replication_conns":null,"string_indexed_fields":[]},"suretax":{"bill_to_number":"","business_unit":"","client_number":"","client_tracking":"~*req.CGRID","customer_number":"~*req.Subject","include_local_cost":false,"orig_number":"~*req.Subject","p2pplus4":"","p2pzipcode":"","plus4":"","regulatory_code":"03","response_group":"03","response_type":"D4","return_file_code":"0","sales_type_code":"R","tax_exemption_code_list":"","tax_included":"0","tax_situs_rule":"04","term_number":"~*req.Destination","timezone":"UTC","trans_type_code":"010101","unit_type":"00","units":"1","url":"","validation_key":"","zipcode":""},"templates":{"*asr":[{"mandatory":true,"path":"*diamreq.Session-Id","tag":"SessionId","type":"*variable","value":"~*req.Session-Id"},{"mandatory":true,"path":"*diamreq.Origin-Host","tag":"OriginHost","type":"*variable","value":"~*req.Destination-Host"},{"mandatory":true,"path":"*diamreq.Origin-Realm","tag":"OriginRealm","type":"*variable","value":"~*req.Destination-Realm"},{"mandatory":true,"path":"*diamreq.Destination-Realm","tag":"DestinationRealm","type":"*variable","value":"~*req.Origin-Realm"},{"mandatory":true,"path":"*diamreq.Destination-Host","tag":"DestinationHost","type":"*variable","value":"~*req.Origin-Host"},{"mandatory":true,"path":"*diamreq.Auth-Application-Id","tag":"AuthApplicationId","type":"*variable","value":"~*vars.*appid"}],"*cca":[{"mandatory":true,"path":"*rep.Session-Id","tag":"SessionId","type":"*variable","value":"~*req.Session-Id"},{"path":"*rep.Result-Code","tag":"ResultCode","type":"*constant","value":"2001"},{"mandatory":true,"path":"*rep.Origin-Host","tag":"OriginHost","type":"*variable","value":"~*vars.OriginHost"},{"mandatory":true,"path":"*rep.Origin-Realm","tag":"OriginRealm","type":"*variable","value":"~*vars.OriginRealm"},{"mandatory":true,"path":"*rep.Auth-Application-Id","tag":"AuthApplicationId","type":"*variable","value":"~*vars.*appid"},{"mandatory":true,"path":"*rep.CC-Request-Type","tag":"CCRequestType","type":"*variable","value":"~*req.CC-Request-Type"},{"mandatory":true,"path":"*rep.CC-Request-Number","tag":"CCRequestNumber","type":"*variable","value":"~*req.CC-Request-Number"}],"*cdrLog":[{"mandatory":true,"path":"*cdr.ToR","tag":"ToR","type":"*variable","value":"~*req.BalanceType"},{"mandatory":true,"path":"*cdr.OriginHost","tag":"OriginHost","type":"*constant","value":"127.0.0.1"},{"mandatory":true,"path":"*cdr.RequestType","tag":"RequestType","type":"*constant","value":"*none"},{"mandatory":true,"path":"*cdr.Tenant","tag":"Tenant","type":"*variable","value":"~*req.Tenant"},{"mandatory":true,"path":"*cdr.Account","tag":"Account","type":"*variable","value":"~*req.Account"},{"mandatory":true,"path":"*cdr.Subject","tag":"Subject","type":"*variable","value":"~*req.Account"},{"mandatory":true,"path":"*cdr.Cost","tag":"Cost","type":"*variable","value":"~*req.Cost"},{"mandatory":true,"path":"*cdr.Source","tag":"Source","type":"*constant","value":"*cdrLog"},{"mandatory":true,"path":"*cdr.Usage","tag":"Usage","type":"*constant","value":"1"},{"mandatory":true,"path":"*cdr.RunID","tag":"RunID","type":"*variable","value":"~*req.ActionType"},{"mandatory":true,"path":"*cdr.SetupTime","tag":"SetupTime","type":"*constant","value":"*now"},{"mandatory":true,"path":"*cdr.AnswerTime","tag":"AnswerTime","type":"*constant","value":"*now"},{"mandatory":true,"path":"*cdr.PreRated","tag":"PreRated","type":"*constant","value":"true"}],"*coa":[{"path":"*radDAReq.User-Name","tag":"User-Name","type":"*variable","value":"~*oreq.User-Name"},{"path":"*radDAReq.NAS-IP-Address","tag":"NAS-IP-Address","type":"*variable","value":"~*oreq.NAS-IP-Address"},{"path":"*radDAReq.Acct-Session-Id","tag":"Acct-Session-Id","type":"*variable","value":"~*oreq.Acct-Session-Id"},{"path":"*radDAReq.Filter-Id","tag":"Filter-Id","type":"*variable","value":"~*req.CustomFilter"}],"*dmr":[{"path":"*radDAReq.User-Name","tag":"User-Name","type":"*variable","value":"~*oreq.User-Name"},{"path":"*radDAReq.NAS-IP-Address","tag":"NAS-IP-Address","type":"*variable","value":"~*oreq.NAS-IP-Address"},{"path":"*radDAReq.Acct-Session-Id","tag":"Acct-Session-Id","type":"*variable","value":"~*oreq.Acct-Session-Id"},{"path":"*radDAReq.Reply-Message","tag":"Reply-Message","type":"*variable","value":"~*req.DisconnectCause"}],"*err":[{"mandatory":true,"path":"*rep.Session-Id","tag":"SessionId","type":"*variable","value":"~*req.Session-Id"},{"mandatory":true,"path":"*rep.Origin-Host","tag":"OriginHost","type":"*variable","value":"~*vars.OriginHost"},{"mandatory":true,"path":"*rep.Origin-Realm","tag":"OriginRealm","type":"*variable","value":"~*vars.OriginRealm"}],"*errSip":[{"mandatory":true,"path":"*rep.Request","tag":"Request","type":"*constant","value":"SIP/2.0 500 Internal Server Error"}],"*rar":[{"mandatory":true,"path":"*diamreq.Session-Id","tag":"SessionId","type":"*variable","value":"~*req.Session-Id"},{"mandatory":true,"path":"*diamreq.Origin-Host","tag":"OriginHost","type":"*variable","value":"~*req.Destination-Host"},{"mandatory":true,"path":"*diamreq.Origin-Realm","tag":"OriginRealm","type":"*variable","value":"~*req.Destination-Realm"},{"mandatory":true,"path":"*diamreq.Destination-Realm","tag":"DestinationRealm","type":"*variable","value":"~*req.Origin-Realm"},{"mandatory":true,"path":"*diamreq.Destination-Host","tag":"DestinationHost","type":"*variable","value":"~*req.Origin-Host"},{"mandatory":true,"path":"*diamreq.Auth-Application-Id","tag":"AuthApplicationId","type":"*variable","value":"~*vars.*appid"},{"path":"*diamreq.Re-Auth-Request-Type","tag":"ReAuthRequestType","type":"*constant","value":"0"}]},"thresholds":{"enabled":false,"indexed_selects":true,"nested_fields":false,"opts":{"*profileIDs":[],"*profileIgnoreFilters":false},"prefix_indexed_fields":[],"store_interval":"","suffix_indexed_fields":[]},"tls":{"ca_certificate":"","client_certificate":"","client_key":"","server_certificate":"","server_key":"","server_name":"","server_policy":4},"trends":{"ees_conns":[],"ees_exporter_ids":[],"enabled":false,"scheduled_ids":{},"stats_conns":[],"store_interval":"","store_uncompressed_limit":0,"thresholds_conns":[]}}` if err != nil { t.Fatal(err) } diff --git a/config/configsanity_test.go b/config/configsanity_test.go index 87bbc5036..9de15930a 100644 --- a/config/configsanity_test.go +++ b/config/configsanity_test.go @@ -1756,25 +1756,8 @@ func TestConfigSanityDataDB(t *testing.T) { } expected := " *accounts needs to be 0 when DataBD is *internal, received : 1" cfg.cacheCfg.Partitions[utils.CacheAccounts].Limit = 0 - cfg.resourceSCfg.Enabled = true - expected = " the StoreInterval field needs to be -1 when DataBD is *internal, received : 0" - if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected { - t.Errorf("Expecting: %+q received: %+q", expected, err) - } cfg.resourceSCfg.Enabled = false - - cfg.statsCfg.Enabled = true - expected = " the StoreInterval field needs to be -1 when DataBD is *internal, received : 0" - if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected { - t.Errorf("Expecting: %+q received: %+q", expected, err) - } cfg.statsCfg.Enabled = false - - cfg.thresholdSCfg.Enabled = true - expected = " the StoreInterval field needs to be -1 when DataBD is *internal, received : 0" - if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected { - t.Errorf("Expecting: %+q received: %+q", expected, err) - } cfg.thresholdSCfg.Enabled = false cfg.dataDbCfg.Items = map[string]*ItemOpt{ diff --git a/config/stordbcfg_test.go b/config/stordbcfg_test.go index e070f1b28..0bd3d2daa 100644 --- a/config/stordbcfg_test.go +++ b/config/stordbcfg_test.go @@ -79,15 +79,21 @@ func TestStoreDbCfgloadFromJsonCfgCase1(t *testing.T) { }, }, Opts: &StorDBOpts{ - SQLMaxOpenConns: 100, - SQLMaxIdleConns: 10, - SQLConnMaxLifetime: 0, - SQLLogLevel: 3, - MongoQueryTimeout: 10 * time.Second, - MongoConnScheme: "mongodb", - PgSSLMode: "disable", - MySQLLocation: "UTC", - MySQLDSNParams: make(map[string]string), + InternalDBDumpPath: "/var/lib/cgrates/internal_db/stordb", + InternalDBBackupPath: "/var/lib/cgrates/internal_db/backup/stordb", + InternalDBStartTimeout: 5 * time.Minute, + InternalDBDumpInterval: 0 * time.Second, + InternalDBRewriteInterval: 0 * time.Second, + InternalDBWriteLimit: 100, + SQLMaxOpenConns: 100, + SQLMaxIdleConns: 10, + SQLConnMaxLifetime: 0, + SQLLogLevel: 3, + MongoQueryTimeout: 10 * time.Second, + MongoConnScheme: "mongodb", + PgSSLMode: "disable", + MySQLLocation: "UTC", + MySQLDSNParams: make(map[string]string), }, } jsonCfg := NewDefaultCGRConfig() @@ -241,16 +247,22 @@ func TestStorDbCfgAsMapInterface(t *testing.T) { utils.RemoteConnsCfg: []string{"*conn1"}, utils.ReplicationConnsCfg: []string{"*conn1"}, utils.OptsCfg: map[string]any{ - utils.SQLMaxOpenConnsCfg: 100, - utils.SQLMaxIdleConnsCfg: 10, - utils.SQLLogLevel: 3, - utils.SQLConnMaxLifetimeCfg: "0s", - utils.MYSQLDSNParams: make(map[string]string), - utils.MongoQueryTimeoutCfg: "10s", - utils.MongoConnSchemeCfg: "mongodb+srv", - utils.PgSSLModeCfg: "disable", - utils.MysqlLocation: "UTC", - utils.PgSchema: "", + utils.InternalDBDumpIntervalCfg: 0 * time.Second, + utils.InternalDBStartTimeoutCfg: 5 * time.Minute, + utils.InternalDBDumpPathCfg: "/var/lib/cgrates/internal_db/stordb", + utils.InternalDBBackupPathCfg: "/var/lib/cgrates/internal_db/backup/stordb", + utils.InternalDBRewriteIntervalCfg: 0 * time.Second, + utils.InternalDBWriteLimitCfg: 100, + utils.SQLMaxOpenConnsCfg: 100, + utils.SQLMaxIdleConnsCfg: 10, + utils.SQLLogLevel: 3, + utils.SQLConnMaxLifetimeCfg: "0s", + utils.MYSQLDSNParams: make(map[string]string), + utils.MongoQueryTimeoutCfg: "10s", + utils.MongoConnSchemeCfg: "mongodb+srv", + utils.PgSSLModeCfg: "disable", + utils.MysqlLocation: "UTC", + utils.PgSchema: "", }, utils.ItemsCfg: map[string]any{ utils.SessionCostsTBL: map[string]any{utils.RemoteCfg: false, utils.ReplicateCfg: false}, diff --git a/cores/server_it_test.go b/cores/server_it_test.go index 96baf9dd3..5ccff5f75 100644 --- a/cores/server_it_test.go +++ b/cores/server_it_test.go @@ -317,7 +317,7 @@ func testServeBiJSON(t *testing.T) { server.RpcRegister(new(mockRegister)) server.birpcSrv = birpc.NewBirpcServer() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ss := sessions.NewSessionS(cfg, dm, nil) @@ -337,7 +337,7 @@ func testServeBiJSONInvalidPort(t *testing.T) { server.RpcRegister(new(mockRegister)) server.birpcSrv = birpc.NewBirpcServer() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ss := sessions.NewSessionS(cfg, dm, nil) @@ -358,7 +358,7 @@ func testServeBiGoB(t *testing.T) { server.RpcRegister(new(mockRegister)) server.birpcSrv = birpc.NewBirpcServer() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ss := sessions.NewSessionS(cfg, dm, nil) @@ -378,7 +378,7 @@ func testServeBiGoBInvalidPort(t *testing.T) { server.RpcRegister(new(mockRegister)) server.birpcSrv = birpc.NewBirpcServer() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) ss := sessions.NewSessionS(cfg, dm, nil) diff --git a/data/conf/samples/fs_offline_internal/cgrates.json b/data/conf/samples/fs_offline_internal/cgrates.json index 1096a20c7..1bd72c4ee 100644 --- a/data/conf/samples/fs_offline_internal/cgrates.json +++ b/data/conf/samples/fs_offline_internal/cgrates.json @@ -19,6 +19,7 @@ "data_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "-2", "internalDBWriteLimit": 10 @@ -29,6 +30,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "-2", "internalDBWriteLimit": 10 diff --git a/data/conf/samples/offline_internal/cgrates.json b/data/conf/samples/offline_internal/cgrates.json index b788309e1..b34dd7141 100644 --- a/data/conf/samples/offline_internal/cgrates.json +++ b/data/conf/samples/offline_internal/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", } }, @@ -33,6 +34,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", } }, diff --git a/data/conf/samples/offline_internal_limit/cgrates.json b/data/conf/samples/offline_internal_limit/cgrates.json index d8323eea7..ef1a5748c 100644 --- a/data/conf/samples/offline_internal_limit/cgrates.json +++ b/data/conf/samples/offline_internal_limit/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBWriteLimit": 1 } @@ -34,6 +35,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBWriteLimit": 1 } diff --git a/data/conf/samples/offline_internal_ms/cgrates.json b/data/conf/samples/offline_internal_ms/cgrates.json index 333057381..d0ea7ef55 100644 --- a/data/conf/samples/offline_internal_ms/cgrates.json +++ b/data/conf/samples/offline_internal_ms/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "500ms", } }, @@ -33,6 +34,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "500ms", } }, diff --git a/data/conf/samples/offline_internal_ms_limit/cgrates.json b/data/conf/samples/offline_internal_ms_limit/cgrates.json index f4cbc4040..9423c8733 100644 --- a/data/conf/samples/offline_internal_ms_limit/cgrates.json +++ b/data/conf/samples/offline_internal_ms_limit/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "500ms", "internalDBWriteLimit": 1 } @@ -34,6 +35,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "500ms", "internalDBWriteLimit": 1 } diff --git a/data/conf/samples/offline_internal_ms_rewrite/cgrates.json b/data/conf/samples/offline_internal_ms_rewrite/cgrates.json index 2f531c70e..1e2e6a135 100644 --- a/data/conf/samples/offline_internal_ms_rewrite/cgrates.json +++ b/data/conf/samples/offline_internal_ms_rewrite/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "500ms", "internalDBRewriteInterval": "-1", } @@ -34,6 +35,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "500ms", "internalDBRewriteInterval": "-1", } diff --git a/data/conf/samples/offline_internal_ms_rewrite_ms/cgrates.json b/data/conf/samples/offline_internal_ms_rewrite_ms/cgrates.json index f7d22cff0..e9e526754 100644 --- a/data/conf/samples/offline_internal_ms_rewrite_ms/cgrates.json +++ b/data/conf/samples/offline_internal_ms_rewrite_ms/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "500ms", "internalDBRewriteInterval": "500ms", } @@ -34,6 +35,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "500ms", "internalDBRewriteInterval": "500ms", } diff --git a/data/conf/samples/offline_internal_rewrite/cgrates.json b/data/conf/samples/offline_internal_rewrite/cgrates.json index dbefc94bc..2676cee24 100644 --- a/data/conf/samples/offline_internal_rewrite/cgrates.json +++ b/data/conf/samples/offline_internal_rewrite/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "-1", } @@ -34,6 +35,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "-1", } diff --git a/data/conf/samples/offline_internal_rewrite_limit/cgrates.json b/data/conf/samples/offline_internal_rewrite_limit/cgrates.json index a17ab3856..5494c57c1 100644 --- a/data/conf/samples/offline_internal_rewrite_limit/cgrates.json +++ b/data/conf/samples/offline_internal_rewrite_limit/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "-1", "internalDBWriteLimit": 1 @@ -35,6 +36,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "-1", "internalDBWriteLimit": 1 diff --git a/data/conf/samples/offline_internal_rewrite_ms/cgrates.json b/data/conf/samples/offline_internal_rewrite_ms/cgrates.json index 737e9cba1..b3ee07973 100644 --- a/data/conf/samples/offline_internal_rewrite_ms/cgrates.json +++ b/data/conf/samples/offline_internal_rewrite_ms/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "500ms", } @@ -34,6 +35,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "500ms", } diff --git a/data/conf/samples/offline_internal_rewrite_ms_limit/cgrates.json b/data/conf/samples/offline_internal_rewrite_ms_limit/cgrates.json index 1f0642c48..ccde7fa0c 100644 --- a/data/conf/samples/offline_internal_rewrite_ms_limit/cgrates.json +++ b/data/conf/samples/offline_internal_rewrite_ms_limit/cgrates.json @@ -25,6 +25,7 @@ "*charger_profiles": {"limit": -1, "ttl": "1s", "static_ttl": false, "remote":false, "replicate":false} }, "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "500ms", "internalDBWriteLimit": 1 @@ -35,6 +36,7 @@ "stor_db": { "db_type": "*internal", "opts":{ + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBRewriteInterval": "500ms", "internalDBWriteLimit": 1 diff --git a/data/conf/samples/reprocess_cdrs_stats_ees_internal/cgrates.json b/data/conf/samples/reprocess_cdrs_stats_ees_internal/cgrates.json index dabef13d4..bc3cc7042 100644 --- a/data/conf/samples/reprocess_cdrs_stats_ees_internal/cgrates.json +++ b/data/conf/samples/reprocess_cdrs_stats_ees_internal/cgrates.json @@ -14,6 +14,7 @@ "db_type": "*internal", "opts":{ "internalDBDumpPath": "/tmp/internal_db/datadb", + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", } }, @@ -22,7 +23,8 @@ "db_type": "*internal", "opts":{ "internalDBDumpPath": "/tmp/internal_db/stordb", - "internalDBDumpInterval": "-1", + "internalDBStartTimeout": "1m", + "internalDBDumpInterval": "-1", } }, diff --git a/data/conf/samples/rerate_cdrs_internal/cgrates.json b/data/conf/samples/rerate_cdrs_internal/cgrates.json index 1c866737c..f6536a332 100644 --- a/data/conf/samples/rerate_cdrs_internal/cgrates.json +++ b/data/conf/samples/rerate_cdrs_internal/cgrates.json @@ -8,6 +8,7 @@ "db_type": "*internal", "opts":{ "internalDBDumpPath": "/tmp/internal_db/datadb", + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", } }, @@ -16,6 +17,7 @@ "db_type": "*internal", "opts":{ "internalDBDumpPath": "/tmp/internal_db/stordb", + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", } }, diff --git a/data/conf/samples/sessions_backup_interval_internal/cgrates.json b/data/conf/samples/sessions_backup_interval_internal/cgrates.json index 5be1bd9e5..2e260e2e9 100644 --- a/data/conf/samples/sessions_backup_interval_internal/cgrates.json +++ b/data/conf/samples/sessions_backup_interval_internal/cgrates.json @@ -15,6 +15,7 @@ "db_type": "*internal", "opts":{ "internalDBDumpPath": "/tmp/internal_db/datadb", + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "500ms", "internalDBWriteLimit": 100, // 100 Mb per file "internalDBRewriteInterval": "1s", // rewriting needed so the files size doesnt multiply since we remove and store again the 500 sessions 1000 times in the test @@ -25,6 +26,7 @@ "db_type": "*internal", "opts":{ "internalDBDumpPath": "/tmp/internal_db/stordb", + "internalDBStartTimeout": "1m", "internalDBDumpInterval": "-1", "internalDBWriteLimit": 1024, "internalDBRewriteInterval": "-2", //rewrite on shutdown diff --git a/dispatchers/dispatchers_test.go b/dispatchers/dispatchers_test.go index 22fd87f9a..49806325e 100644 --- a/dispatchers/dispatchers_test.go +++ b/dispatchers/dispatchers_test.go @@ -101,7 +101,7 @@ func TestDispatcherServiceDispatcherProfileForEventMIIDENotFound(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dss := NewDispatcherService(dm, cfg, nil, connMng) ev := &utils.CGREvent{} @@ -547,7 +547,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNil(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -594,7 +594,7 @@ func TestDispatcherV1GetProfileForEventReturn(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -647,7 +647,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFound(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -694,7 +694,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFound2(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -741,7 +741,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFoundTime(t *testing.T) cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) engine.Cache.Clear(nil) dsp := &engine.DispatcherProfile{ @@ -793,7 +793,7 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFoundFilter(t *testing. cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) engine.Cache.Clear(nil) dsp := &engine.DispatcherProfile{ @@ -841,7 +841,7 @@ func TestDispatcherServiceDispatchDspErr(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) engine.Cache.Clear(nil) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ @@ -887,7 +887,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -940,7 +940,7 @@ func TestDispatcherServiceDispatcherProfileForEventFoundFilter(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) engine.Cache.Clear(nil) dsp := &engine.DispatcherProfile{ @@ -1045,7 +1045,7 @@ func TestDispatcherServiceDispatcherProfileForEventGetDispatcherError(t *testing cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) engine.Cache.Clear(nil) dsp := &engine.DispatcherProfile{ @@ -1107,7 +1107,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound2(t *testing.T) { cfg.DispatcherSCfg().IndexedSelects = false rpcCl := map[string]chan birpc.ClientConnector{} connMng := engine.NewConnManager(cfg, rpcCl) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMng) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -1175,7 +1175,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound3(t *testing.T) { utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): chanRPC, } connMgr := engine.NewConnManager(cfg, rpcInt) - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, nil, connMgr) dsp := &engine.DispatcherProfile{ Tenant: "cgrates.org", @@ -1321,7 +1321,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalses(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1378,7 +1378,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalses(t *testing.T) { } else if len(rcv) != 1 { t.Errorf("Unexpected number of profiles:%v", len(rcv)) } else if !reflect.DeepEqual(rcv[0], dsp2) { - t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", dsp2, rcv) + t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", dsp2, rcv[0]) } dataDB.Flush("") @@ -1412,7 +1412,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseFirstNotFound(t *testing. }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1469,7 +1469,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseFirstNotFound(t *testing. } else if len(rcv) != 1 { t.Errorf("Unexpected number of profiles:%v", len(rcv)) } else if !reflect.DeepEqual(rcv[0], dsp2) { - t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", dsp2, rcv) + t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", dsp2, rcv[0]) } } @@ -1480,7 +1480,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1548,7 +1548,7 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1614,7 +1614,7 @@ func TestDispatchersdispatcherProfileForEventAnySStrueNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1679,7 +1679,7 @@ func TestDispatchersdispatcherProfileForEventAnySStrueBothFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) engine.Cache = engine.NewCacheS(cfg, dm, nil) @@ -1735,7 +1735,7 @@ func TestDispatchersdispatcherProfileForEventAnySStrueBothFound(t *testing.T) { } else if len(rcv) != 1 { t.Errorf("Unexpected number of profiles:%v", len(rcv)) } else if !reflect.DeepEqual(rcv[0], dsp2) { - t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", dsp2, rcv) + t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", dsp2, rcv[0]) } dsp1.Weight = 30 @@ -1759,7 +1759,7 @@ func TestDispatchersdispatcherProfileForEventAnySStrueBothFound(t *testing.T) { func TestDispatcherServiceDispatcherProfilesForEventBoolOptsErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() rpcCl := map[string]chan birpc.ClientConnector{} - dataDB := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMng := engine.NewConnManager(cfg, rpcCl) dm := engine.NewDataManager(dataDB, nil, connMng) fltrs := engine.NewFilterS(cfg, connMng, dm) diff --git a/dispatchers/libdispatcher_test.go b/dispatchers/libdispatcher_test.go index 24d2a56e8..b49c4bf21 100644 --- a/dispatchers/libdispatcher_test.go +++ b/dispatchers/libdispatcher_test.go @@ -390,7 +390,7 @@ func TestLibDispatcherNewDispatcherError(t *testing.T) { func TestLibDispatcherSingleResultDispatcherDispatch(t *testing.T) { wgDsp := &singleResultDispatcher{sorter: new(noSort)} - dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "", &DispatcherRoute{}, "", "", "") expected := "DSP_HOST_NOT_FOUND" @@ -401,7 +401,7 @@ func TestLibDispatcherSingleResultDispatcherDispatch(t *testing.T) { func TestLibDispatcherSingleResultDispatcherDispatchRouteID(t *testing.T) { wgDsp := &singleResultDispatcher{sorter: new(roundRobinSort)} - dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "routeID", &DispatcherRoute{}, "", "", "") expected := "DSP_HOST_NOT_FOUND" @@ -412,7 +412,7 @@ func TestLibDispatcherSingleResultDispatcherDispatchRouteID(t *testing.T) { func TestLibDispatcherBroadcastDispatcherDispatch(t *testing.T) { wgDsp := &broadcastDispatcher{hosts: engine.DispatcherHostProfiles{{ID: "testID"}}} - dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "", &DispatcherRoute{}, "", "", "") expected := "DSP_HOST_NOT_FOUND" @@ -423,7 +423,7 @@ func TestLibDispatcherBroadcastDispatcherDispatch(t *testing.T) { func TestLibDispatcherBroadcastDispatcherDispatchRouteID(t *testing.T) { wgDsp := &broadcastDispatcher{hosts: engine.DispatcherHostProfiles{{ID: "testID"}}} - dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "routeID", &DispatcherRoute{}, "", "", "") expected := "DSP_HOST_NOT_FOUND" @@ -434,7 +434,7 @@ func TestLibDispatcherBroadcastDispatcherDispatchRouteID(t *testing.T) { func TestLibDispatcherLoadDispatcherDispatch(t *testing.T) { wgDsp := &loadDispatcher{sorter: new(randomSort)} - dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "", &DispatcherRoute{}, "", "", "") expected := "DSP_HOST_NOT_FOUND" @@ -451,7 +451,7 @@ func TestLibDispatcherLoadDispatcherDispatchHostsID(t *testing.T) { }, sorter: new(noSort), } - dataDB := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dM := engine.NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) err := wgDsp.Dispatch(dM, nil, nil, "", "routeID", &DispatcherRoute{}, "", "", "") expected := "DSP_HOST_NOT_FOUND" @@ -971,7 +971,7 @@ func TestLibDispatcherLoadStrategyDispatchCaseCallError(t *testing.T) { func TestLibDispatcherDispatchFilterError(t *testing.T) { cfg := config.NewDefaultCGRConfig() flts := engine.NewFilterS(cfg, nil, nil) - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) var dsp Dispatcher = &singleResultDispatcher{ sorter: new(noSort), diff --git a/dispatchers/responder_test.go b/dispatchers/responder_test.go index 76ce6bf24..5ea63859e 100644 --- a/dispatchers/responder_test.go +++ b/dispatchers/responder_test.go @@ -298,7 +298,7 @@ func TestDspResponderShutdownErrorNil(t *testing.T) { func TestDspResponderGetCostOnRatingPlans(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) dsp := NewDispatcherService(dm, cfg, nil, nil) args := &utils.GetCostOnRatingPlansArgs{ Account: "1002", @@ -345,7 +345,7 @@ func TestDspResponderGetCostOnRatingPlans(t *testing.T) { // func TestDspResponderGetMaxSessionTimeOnAccounts(t *testing.T) { // cfg := config.NewDefaultCGRConfig() -// dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) +// dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) // dsp := NewDispatcherService(dm, cfg, nil, nil) // args := &utils.GetMaxSessionTimeOnAccountsArgs{ // Subject: "1002", diff --git a/ees/ees_test.go b/ees/ees_test.go index 5a39c0728..897afab8d 100644 --- a/ees/ees_test.go +++ b/ees/ees_test.go @@ -69,7 +69,7 @@ func TestAttrSProcessEvent(t *testing.T) { } cfg := config.NewDefaultCGRConfig() cfg.EEsNoLksCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) clientConn := make(chan birpc.ClientConnector, 1) @@ -101,7 +101,7 @@ func TestAttrSProcessEvent2(t *testing.T) { } cfg := config.NewDefaultCGRConfig() cfg.EEsNoLksCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) clientConn := make(chan birpc.ClientConnector, 1) @@ -130,7 +130,7 @@ func TestV1ProcessEvent(t *testing.T) { 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) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) eeS, err := NewEventExporterS(cfg, filterS, nil) @@ -183,7 +183,7 @@ func TestV1ProcessEvent2(t *testing.T) { 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) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) eeS, err := NewEventExporterS(cfg, filterS, nil) @@ -226,7 +226,7 @@ func TestV1ProcessEvent3(t *testing.T) { cfg.EEsCfg().Exporters[0].Flags = utils.FlagsWithParams{ utils.MetaAttributes: utils.FlagParams{}, } - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) eeS, err := NewEventExporterS(cfg, filterS, nil) @@ -254,7 +254,7 @@ func TestV1ProcessEvent4(t *testing.T) { 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) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) eeS, err := NewEventExporterS(cfg, filterS, nil) @@ -263,7 +263,7 @@ func TestV1ProcessEvent4(t *testing.T) { } eeS.exporterCache = map[string]*ltcache.Cache{ utils.MetaHTTPPost: ltcache.NewCache(1, - time.Second, false, onCacheEvicted), + time.Second, false, true, []func(itmID string, value any){onCacheEvicted}), } newEeS, err := NewEventExporter(cfg.EEsCfg().Exporters[0], cfg, filterS, nil) if err != nil { @@ -323,7 +323,7 @@ func TestV1ProcessEventMockMetrics(t *testing.T) { 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) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) eeS, err := NewEventExporterS(cfg, filterS, nil) @@ -332,7 +332,7 @@ func TestV1ProcessEventMockMetrics(t *testing.T) { } eeS.exporterCache = map[string]*ltcache.Cache{ utils.MetaHTTPPost: ltcache.NewCache(1, - time.Second, false, onCacheEvicted), + time.Second, false, true, []func(itmID string, value any){onCacheEvicted}), } eeS.exporterCache[utils.MetaHTTPPost].Set("SQLExporterFull", mEe, []string{"grp1"}) cgrEv := &engine.CGREventWithEeIDs{ @@ -376,7 +376,7 @@ func TestV1ProcessEvent5(t *testing.T) { }, }, } - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) eeS, err := NewEventExporterS(cfg, filterS, nil) @@ -394,7 +394,7 @@ func TestV1ProcessEvent6(t *testing.T) { 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) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) eeS, err := NewEventExporterS(cfg, filterS, nil) diff --git a/ees/filecsv_test.go b/ees/filecsv_test.go index 13bc8fd6c..1168b7256 100644 --- a/ees/filecsv_test.go +++ b/ees/filecsv_test.go @@ -50,7 +50,7 @@ func (nopCloser) Close() error { return nil } func TestFileCsvComposeHeader(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -113,7 +113,7 @@ func TestFileCsvComposeHeader(t *testing.T) { func TestFileCsvComposeTrailer(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -176,7 +176,7 @@ func TestFileCsvComposeTrailer(t *testing.T) { func TestFileCsvExportEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -206,7 +206,7 @@ func TestFileCsvExportEvent(t *testing.T) { func TestFileCsvOnEvictedTrailer(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -240,7 +240,7 @@ func TestFileCsvOnEvictedTrailer(t *testing.T) { func TestFileCsvOnEvictedClose(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) diff --git a/ees/filefwv_test.go b/ees/filefwv_test.go index 0af7b4167..5b48421be 100644 --- a/ees/filefwv_test.go +++ b/ees/filefwv_test.go @@ -44,7 +44,7 @@ func TestFileFwvGetMetrics(t *testing.T) { func TestFileFwvComposeHeader(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -106,7 +106,7 @@ func TestFileFwvComposeHeader(t *testing.T) { func TestFileFwvComposeTrailer(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -168,7 +168,7 @@ func TestFileFwvComposeTrailer(t *testing.T) { func TestFileFwvExportEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -205,7 +205,7 @@ func (nopCloserWrite) Write(s []byte) (n int, err error) { func TestFileFwvExportEventWriteError(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -227,7 +227,7 @@ func TestFileFwvExportEventWriteError(t *testing.T) { func TestFileFwvComposeHeaderWriteError(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -259,7 +259,7 @@ func TestFileFwvComposeHeaderWriteError(t *testing.T) { func TestFileFwvComposeTrailerWriteError(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -290,7 +290,7 @@ func TestFileFwvComposeTrailerWriteError(t *testing.T) { } func TestFileFwvOnEvictedTrailer(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) @@ -328,7 +328,7 @@ func (nopCloserError) Write(s []byte) (n int, err error) { } func TestFileFwvOnEvictedClose(t *testing.T) { cfg := config.NewDefaultCGRConfig() - newIDb := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + newIDb := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) byteBuff := new(bytes.Buffer) diff --git a/engine/account_test.go b/engine/account_test.go index 9d39c4a5b..2fd9da529 100644 --- a/engine/account_test.go +++ b/engine/account_test.go @@ -2969,7 +2969,7 @@ func TestAcountSetBalanceAction(t *testing.T) { StaticTTL: true, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) SetDataStorage(dm) acc := &Account{ @@ -3150,7 +3150,7 @@ func TestAccEnableAccountAction(t *testing.T) { defer func() { dm = tmpDm }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) acc := &Account{ ID: "cgrates.org:1001", diff --git a/engine/action_plan_test.go b/engine/action_plan_test.go index 3de1f53e4..c582f480d 100644 --- a/engine/action_plan_test.go +++ b/engine/action_plan_test.go @@ -25,6 +25,7 @@ import ( "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" + "github.com/cgrates/ltcache" ) func TestActionTimingTasks(t *testing.T) { @@ -104,13 +105,9 @@ func TestActionPlanClone(t *testing.T) { }, }, } - clned, err := at1.Clone() - if err != nil { - t.Error(err) - } - at1Cloned := clned.(*ActionPlan) - if !reflect.DeepEqual(at1, at1Cloned) { - t.Errorf("Expecting: %+v,\n received: %+v", at1, at1Cloned) + clned := at1.Clone() + if !reflect.DeepEqual(at1, clned) { + t.Errorf("Expecting: %+v,\n received: %+v", at1, clned) } } @@ -259,9 +256,9 @@ func TestCacheGetCloned(t *testing.T) { if err := Cache.Set(utils.CacheActionPlans, "MYTESTAPL", at1, nil, true, ""); err != nil { t.Errorf("Expecting nil, received: %s", err) } - clned, err := Cache.GetCloned(utils.CacheActionPlans, "MYTESTAPL") - if err != nil { - t.Error(err) + clned, ok := Cache.Get(utils.CacheActionPlans, "MYTESTAPL") + if !ok { + t.Error(ltcache.ErrNotFound) } at1Cloned := clned.(*ActionPlan) if !reflect.DeepEqual(at1, at1Cloned) { @@ -278,7 +275,7 @@ func TestActionTimingExErr(t *testing.T) { Cache = tmp config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) at := &ActionTiming{ Timing: &RateInterval{}, diff --git a/engine/action_trigger_test.go b/engine/action_trigger_test.go index 500e94d70..e18e79914 100644 --- a/engine/action_trigger_test.go +++ b/engine/action_trigger_test.go @@ -290,7 +290,7 @@ func TestATExecute22(t *testing.T) { Limit: 2, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) at := &ActionTrigger{ ID: "STANDARD_TRIGGER", diff --git a/engine/actions_test.go b/engine/actions_test.go index dccb5ef5d..1eae4a389 100644 --- a/engine/actions_test.go +++ b/engine/actions_test.go @@ -34,6 +34,7 @@ import ( "github.com/cgrates/birpc" "github.com/cgrates/birpc/context" "github.com/cgrates/cgrates/config" + "github.com/cgrates/ltcache" "github.com/cgrates/cgrates/utils" "github.com/cgrates/rpcclient" @@ -2560,9 +2561,8 @@ func TestClonedActions(t *testing.T) { Weight: float64(20), }, } - if clone, err := actions.Clone(); err != nil { - t.Error("error cloning actions: ", err) - } else if !reflect.DeepEqual(actions, clone) { + clone := actions.Clone() + if !reflect.DeepEqual(actions, clone) { t.Errorf("Expecting %+v, received: %+v", utils.ToIJSON(actions), utils.ToIJSON(clone)) } @@ -2603,11 +2603,11 @@ func TestCacheGetClonedActions(t *testing.T) { if err := Cache.Set(utils.CacheActions, "MYTEST", actions, nil, true, ""); err != nil { t.Errorf("Expecting: nil, received: %s", err) } - clned, err := Cache.GetCloned(utils.CacheActions, "MYTEST") - if err != nil { - t.Error(err) + clned, ok := Cache.Get(utils.CacheActions, "MYTEST") + if !ok { + t.Error(ltcache.ErrNotFound) } - aCloned := clned.(Actions) + aCloned := clned.(Actions).Clone() if !reflect.DeepEqual(actions, aCloned) { t.Errorf("Expecting: %+v, received: %+v", actions[1].Balance, aCloned[1].Balance) } @@ -2822,7 +2822,7 @@ func TestResetAccountCDR(t *testing.T) { config.SetCgrConfig(config.NewDefaultCGRConfig()) SetCdrStorage(cdrStorage) }() - idb := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + idb := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(idb, cfg.CacheCfg(), nil) fltrs := NewFilterS(cfg, nil, dm) SetCdrStorage(idb) @@ -3331,7 +3331,7 @@ func TestEnableDisableAccountAction(t *testing.T) { func TestResetAccountCDRSuccesful(t *testing.T) { cfg := config.NewDefaultCGRConfig() - idb := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + idb := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(idb, cfg.CacheCfg(), nil) fltrs := NewFilterS(cfg, nil, dm) cdr := &CDR{ @@ -3779,7 +3779,7 @@ func TestRemoveAccountActionErr(t *testing.T) { }}, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMgr) SetDataStorage(nil) if err := removeAccountAction(ub, a, acs, nil, extraData, SharedActionsData{}, ActionConnCfg{}); err == nil || err != utils.ErrInvalidKey { @@ -4004,7 +4004,7 @@ func TestSetDestinationsErr(t *testing.T) { Replicate: false, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -4129,7 +4129,7 @@ func TestRemoveAccountActionLogg(t *testing.T) { } cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} cfg.DataDbCfg().RplConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -4880,22 +4880,16 @@ func TestActionsStringMethod(t *testing.T) { func TestActionsClone(t *testing.T) { actions := Actions{} - cloned, err := actions.Clone() - if err != nil { - t.Errorf("Expected no error, got %v", err) - } - if len(cloned.(Actions)) != len(actions) { - t.Errorf("Expected cloned Actions length %d, got %d", len(actions), len(cloned.(Actions))) + cloned := actions.Clone() + if len(cloned) != len(actions) { + t.Errorf("Expected cloned Actions length %d, got %d", len(actions), len(cloned)) } for i := range actions { - if !reflect.DeepEqual(actions[i], cloned.(Actions)[i]) { - t.Errorf("Expected cloned Action[%d] to match original, got %+v", i, cloned.(Actions)[i]) + if !reflect.DeepEqual(actions[i], cloned[i]) { + t.Errorf("Expected cloned Action[%d] to match original, got %+v", i, cloned[i]) } } - cloned, err = (Actions)(nil).Clone() - if err != nil { - t.Errorf("Expected no error when apl is nil, got %v", err) - } + cloned = (Actions)(nil).Clone() if cloned != nil { t.Errorf("Expected cloned result to be nil when apl is nil, got %+v", cloned) } diff --git a/engine/attributes_test.go b/engine/attributes_test.go index b70f11758..8dee9122d 100644 --- a/engine/attributes_test.go +++ b/engine/attributes_test.go @@ -81,7 +81,7 @@ func TestAttributesV1GetAttributeForEventNilCGREvent(t *testing.T) { func TestAttributesV1GetAttributeForEventProfileNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, nil, nil) alS := &AttributeService{ dm: dm, @@ -101,7 +101,7 @@ func TestAttributesV1GetAttributeForEventProfileNotFound(t *testing.T) { func TestAttributesV1GetAttributeForEvent2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, nil, nil) alS := &AttributeService{ dm: dm, @@ -123,7 +123,7 @@ func TestAttributesV1ProcessEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.FilterSCfg().ResourceSConns = []string{} conMng := NewConnManager(cfg, make(map[string]chan birpc.ClientConnector)) - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), nil, conMng) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), nil, conMng) filterS := NewFilterS(cfg, conMng, dm) if err := dm.SetAttributeProfile(&AttributeProfile{ Tenant: "cgrates.org", @@ -209,7 +209,7 @@ func TestAttributesV1ProcessEventErrorMetaSum(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.FilterSCfg().ResourceSConns = []string{} conMng := NewConnManager(cfg, make(map[string]chan birpc.ClientConnector)) - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), nil, conMng) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), nil, conMng) filterS := NewFilterS(cfg, conMng, dm) if err := dm.SetAttributeProfile(&AttributeProfile{ @@ -252,7 +252,7 @@ func TestAttributesV1ProcessEventErrorMetaDifference(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.FilterSCfg().ResourceSConns = []string{} conMng := NewConnManager(cfg, make(map[string]chan birpc.ClientConnector)) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, nil, conMng) filterS := NewFilterS(cfg, conMng, dm) @@ -295,7 +295,7 @@ func TestAttributesV1ProcessEventErrorMetaValueExponent(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.FilterSCfg().ResourceSConns = []string{} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, nil, nil) filterS := NewFilterS(cfg, nil, dm) @@ -337,7 +337,7 @@ func TestAttributesV1ProcessEventErrorMetaValueExponent(t *testing.T) { func TestAttributesattributeProfileForEventAnyCtxFalseNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache.Clear(nil) alS := &AttributeService{ @@ -418,7 +418,7 @@ func TestAttributesattributeProfileForEventAnyCtxFalseNotFound(t *testing.T) { func TestAttributesattributeProfileForEventAnyCtxFalseFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache.Clear(nil) alS := &AttributeService{ @@ -490,7 +490,7 @@ func TestAttributesattributeProfileForEventAnyCtxFalseFound(t *testing.T) { func TestAttributesattributeProfileForEventAnyCtxTrueBothFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache.Clear(nil) alS := &AttributeService{ @@ -574,7 +574,7 @@ func TestAttributesattributeProfileForEventAnyCtxTrueBothFound(t *testing.T) { func TestAttributesattributeProfileForEventAnyCtxTrueErrMatching(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache.Clear(nil) alS := &AttributeService{ @@ -653,7 +653,7 @@ func TestAttributesattributeProfileForEventAnyCtxTrueErrMatching(t *testing.T) { func TestAttributesattributeProfileForEventAnyCtxTrueNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache.Clear(nil) alS := &AttributeService{ @@ -724,7 +724,7 @@ func TestAttributesattributeProfileForEventAnyCtxTrueNotFound(t *testing.T) { func TestAttributesattributeProfileForEventNoDBConn(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache.Clear(nil) alS := &AttributeService{ @@ -796,7 +796,7 @@ func TestAttributesattributeProfileForEventNoDBConn(t *testing.T) { func TestAttributesattributeProfileForEventErrNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache.Clear(nil) alS := &AttributeService{ @@ -831,7 +831,7 @@ func TestAttributesattributeProfileForEventErrNotFound(t *testing.T) { func TestAttributesattributeProfileForEventNotActive(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache.Clear(nil) alS := &AttributeService{ @@ -887,7 +887,7 @@ func TestAttributesattributeProfileForEventNotActive(t *testing.T) { func TestAttributesattributeProfileForEventErrPass(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) Cache.Clear(nil) alS := &AttributeService{ @@ -1150,7 +1150,7 @@ func TestAttributesParseAttributeSIPCIDInvalidArguments(t *testing.T) { func TestAttributesV1ProcessEventMultipleRuns1(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) Cache.Clear(nil) @@ -1244,7 +1244,7 @@ func TestAttributesV1ProcessEventMultipleRuns1(t *testing.T) { func TestAttributesV1ProcessEventMultipleRuns2(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) Cache.Clear(nil) @@ -1410,7 +1410,7 @@ func TestArgeesRPCClone(t *testing.T) { func TestAttrSV1GetAttributeForEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) Cache.Clear(nil) @@ -1513,7 +1513,7 @@ func TestAttributesV1ProcessEventSentryPeer(t *testing.T) { cfg.SentryPeerCfg().IpsUrl = testServer.URL + "/api/ip-addresses" cfg.SentryPeerCfg().NumbersUrl = testServer.URL + "/api/phone-numbers" cfg.AttributeSCfg().IndexedSelects = false - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), nil, nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), nil, nil) if err := dm.SetAttributeProfile(&AttributeProfile{ Tenant: "cgrates.org", ID: "ATTR_CHECK_DESTINATION", diff --git a/engine/caches_test.go b/engine/caches_test.go index b847a8a3a..497c37421 100644 --- a/engine/caches_test.go +++ b/engine/caches_test.go @@ -39,7 +39,7 @@ func TestCachesReplicateRemove(t *testing.T) { Replicate: true, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ @@ -78,7 +78,7 @@ func TestCacheSSetWithReplicate(t *testing.T) { Replicate: true, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ @@ -125,15 +125,17 @@ func TestCacheSV1GetItemIDs(t *testing.T) { MaxItems: 3, TTL: time.Second * 1, StaticTTL: true, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value interface{}){ + func(itmID string, value any) { + }, }, }, }) tscache.Set("cacheID", "itemID", "", []string{}, true, "tId") cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) chS := &CacheS{ cfg: cfg, @@ -168,15 +170,17 @@ func TestCacheSV1HasItem(t *testing.T) { MaxItems: 3, TTL: time.Second * 1, StaticTTL: true, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value interface{}){ + func(itmID string, value any) { + }, }, }, }) tscache.Set("cacheID", "itemID", "", []string{}, true, "tId") cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) chS := &CacheS{ cfg: cfg, @@ -223,8 +227,10 @@ func TestCacheSV1GetItemWithRemote(t *testing.T) { MaxItems: 3, TTL: time.Second * 1, StaticTTL: true, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) { + }, }, }, }) @@ -253,15 +259,15 @@ func TestCacheSV1GetItem(t *testing.T) { MaxItems: 3, TTL: time.Second * 1, StaticTTL: true, - OnEvicted: func(itmID string, value any) { - + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, }) tscache.Set("cacheID", "itemID", "value", []string{}, true, "tId") cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) chS := &CacheS{ cfg: cfg, @@ -327,15 +333,15 @@ func TestCacheSV1RemoveItem(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { - + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, }) tscache.Set("cacheID", "itemID", "value", []string{}, true, "tId") cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) chS := &CacheS{ cfg: cfg, @@ -360,23 +366,24 @@ func TestCacheSV1RemoveItems(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, utils.CacheResources: { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { - + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, utils.CacheFilters: { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { - + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, } @@ -395,7 +402,7 @@ func TestCacheSV1RemoveItems(t *testing.T) { } } cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) chS := &CacheS{ cfg: cfg, @@ -419,7 +426,7 @@ func TestCacheSV1Clear(t *testing.T) { CacheIDs: []string{"cacheID", "cacheID2", "cacheID3"}, } cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cfgCache := map[string]*ltcache.CacheConfig{ @@ -427,23 +434,24 @@ func TestCacheSV1Clear(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, "cacheID2": { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { - + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, "cacheID3": { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { - + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, } @@ -470,7 +478,7 @@ func TestCacheSV1ReplicateSet(t *testing.T) { Value: fltr, } cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) tscache := ltcache.NewTransCache( map[string]*ltcache.CacheConfig{ @@ -478,7 +486,8 @@ func TestCacheSV1ReplicateSet(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }}, ) @@ -512,7 +521,7 @@ func TestCacheSV1GetCacheStats(t *testing.T) { } reply := map[string]*ltcache.CacheStats{} cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) tscache := ltcache.NewTransCache( map[string]*ltcache.CacheConfig{ @@ -520,21 +529,24 @@ func TestCacheSV1GetCacheStats(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, "cacheID2": { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, "cacheID3": { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }, }, @@ -574,7 +586,7 @@ func TestCachesPrecache(t *testing.T) { } pcI := map[string]chan struct{}{ utils.CacheDestinations: make(chan struct{})} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) chS := &CacheS{ cfg: cfg, @@ -598,7 +610,7 @@ func TestV1PrecacheStatus(t *testing.T) { pcI := map[string]chan struct{}{ utils.CacheFilters: make(chan struct{}), } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) chS := &CacheS{ cfg: cfg, @@ -630,7 +642,7 @@ func TestCacheSV1HasGroup(t *testing.T) { APIOpts: map[string]any{}, } cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) tscache := ltcache.NewTransCache( map[string]*ltcache.CacheConfig{ @@ -638,7 +650,8 @@ func TestCacheSV1HasGroup(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }}, ) @@ -667,7 +680,7 @@ func TestCacheSV1HasGroupItemIDs(t *testing.T) { APIOpts: map[string]any{}, } cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) tscache := ltcache.NewTransCache( map[string]*ltcache.CacheConfig{ @@ -675,7 +688,8 @@ func TestCacheSV1HasGroupItemIDs(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }}, ) @@ -704,7 +718,7 @@ func TestV1RemoveGroup(t *testing.T) { APIOpts: map[string]any{}, } cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) tscache := ltcache.NewTransCache( map[string]*ltcache.CacheConfig{ @@ -712,7 +726,8 @@ func TestV1RemoveGroup(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }}, ) @@ -744,7 +759,7 @@ func TestCacheSV1ReplicateRemove(t *testing.T) { Tenant: "cgrates.org", } cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) tscache := ltcache.NewTransCache( map[string]*ltcache.CacheConfig{ @@ -752,7 +767,8 @@ func TestCacheSV1ReplicateRemove(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) {}, }, }}, ) @@ -786,7 +802,7 @@ func TestNewCacheS(t *testing.T) { Replicate: true, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ @@ -811,7 +827,7 @@ func TestNewCacheS(t *testing.T) { func TestCacheRemoveWithoutReplicate(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) tscache := ltcache.NewTransCache( map[string]*ltcache.CacheConfig{ @@ -819,7 +835,9 @@ func TestCacheRemoveWithoutReplicate(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) { + }, }, }}, ) @@ -837,7 +855,7 @@ func TestCacheRemoveWithoutReplicate(t *testing.T) { } func TestCacheRemoveGroup(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) tscache := ltcache.NewTransCache( map[string]*ltcache.CacheConfig{ @@ -845,7 +863,9 @@ func TestCacheRemoveGroup(t *testing.T) { MaxItems: 3, TTL: time.Minute * 30, StaticTTL: false, - OnEvicted: func(itmID string, value any) { + OnEvicted: []func(itmID string, value any){ + func(itmID string, value any) { + }, }, }}, ) @@ -940,7 +960,7 @@ func TestCachesGetWithRemote(t *testing.T) { Remote: false, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) chS := NewCacheS(cfg, dm, nil) clientconn := make(chan birpc.ClientConnector, 1) @@ -1018,7 +1038,7 @@ func TestCacheSBeginTransaction(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, false, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, false, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cacheS := NewCacheS(cfg, dm, nil) diff --git a/engine/calldesc_test.go b/engine/calldesc_test.go index 097b3a317..c8a4736a4 100644 --- a/engine/calldesc_test.go +++ b/engine/calldesc_test.go @@ -2614,7 +2614,7 @@ func TestCDRefundRounding(t *testing.T) { }, } - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fltrs := NewFilterS(cfg, nil, dm) @@ -2675,7 +2675,7 @@ func TestCallDescGetRatingPlansForPrefix(t *testing.T) { defer func() { dm = tmpDm }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cd := &CallDescriptor{ Category: "call", diff --git a/engine/cdr_test.go b/engine/cdr_test.go index 5edfa807a..564d3f5e1 100644 --- a/engine/cdr_test.go +++ b/engine/cdr_test.go @@ -1043,7 +1043,7 @@ func TestCompressedCDR(t *testing.T) { t.Errorf("expected %v,received %v\n", utils.ToJSON(cdr.CostDetails), utils.ToJSON(cdr3.CostDetails)) } - idb := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + idb := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) if err := idb.SetCDR(&cdr, true); err != nil { t.Error(err) } diff --git a/engine/cdrs_test.go b/engine/cdrs_test.go index 97a39b21d..2a1a4fe06 100644 --- a/engine/cdrs_test.go +++ b/engine/cdrs_test.go @@ -83,12 +83,12 @@ func TestCDRSV1ProcessCDRNoTenant(t *testing.T) { connMngr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanClnt, }) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMngr) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: connMngr, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } cdr := &CDRWithAPIOpts{ // no tenant, take the default @@ -139,12 +139,12 @@ func TestCDRSV1ProcessEventNoTenant(t *testing.T) { connMngr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanClnt, }) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMngr) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: connMngr, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } args := &ArgV1ProcessEvent{ @@ -195,12 +195,12 @@ func TestCDRSV1V1ProcessExternalCDRNoTenant(t *testing.T) { connMngr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanClnt, }) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMngr) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: connMngr, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } @@ -256,12 +256,12 @@ func TestArgV1ProcessClone(t *testing.T) { func TestCDRV1CountCDRs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.GeneralCfg().DefaultTimezone = "UTC" - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, connMgr: nil, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } args := &utils.RPCCDRsFilterWithAPIOpts{ @@ -279,12 +279,12 @@ func TestCDRV1CountCDRs(t *testing.T) { func TestV1CountCDRsErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.GeneralCfg().DefaultTimezone = "UTC" - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, connMgr: nil, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } args := &utils.RPCCDRsFilterWithAPIOpts{ @@ -306,12 +306,12 @@ func TestV1CountCDRsErr(t *testing.T) { func TestV1RateCDRs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.GeneralCfg().DefaultTimezone = "UTC" - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, connMgr: nil, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } arg := &ArgRateCDRs{ @@ -347,7 +347,7 @@ func TestCDRServerThdsProcessEvent(t *testing.T) { utils.ConcatenatedKey(utils.MetaInternal, utils.ThresholdSConnsCfg): clientconn, }) cfg.CdrsCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ThreshSConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, @@ -385,7 +385,7 @@ func TestCDRServerStatSProcessEvent(t *testing.T) { utils.ConcatenatedKey(utils.MetaInternal, utils.StatSConnsCfg): clientconn, }) cfg.CdrsCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.StatSConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) fltrs := NewFilterS(cfg, connMgr, dm) cdrS := &CDRServer{ @@ -429,7 +429,7 @@ func TestCDRServerEesProcessEvent(t *testing.T) { utils.ConcatenatedKey(utils.MetaInternal, utils.EEsConnsCfg): clientconn, }) cfg.CdrsCfg().EEsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.EEsConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMgr) cdrS := &CDRServer{ cgrCfg: cfg, @@ -471,7 +471,7 @@ func TestCDRefundEventCost(t *testing.T) { utils.ConcatenatedKey(utils.MetaInternal, utils.ResponderRefundIncrements): clientconn, }) cfg.CdrsCfg().RaterConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ResponderRefundIncrements)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, @@ -487,7 +487,7 @@ func TestCDRefundEventCost(t *testing.T) { func TestGetCostFromRater(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().RaterConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.RateSConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) ccMock := &ccMock{ @@ -549,7 +549,7 @@ func TestRefundEventCost(t *testing.T) { } clientconn := make(chan birpc.ClientConnector, 1) clientconn <- ccMock - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.RateSConnsCfg): clientconn, @@ -601,12 +601,12 @@ func TestCDRSV2ProcessEvent(t *testing.T) { connMngr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanClnt, }) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMngr) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: connMngr, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } @@ -651,12 +651,12 @@ func TestCDRSV2ProcessEventCacheSet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: nil, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } config.SetCgrConfig(cfg) @@ -710,12 +710,12 @@ func TestCDRSV1ProcessEvent(t *testing.T) { connMngr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanClnt, }) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMngr) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: connMngr, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } @@ -760,12 +760,12 @@ func TestCDRSV1ProcessEventCacheSet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrs := &CDRServer{ cgrCfg: cfg, connMgr: nil, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } config.SetCgrConfig(cfg) @@ -817,7 +817,7 @@ func TestV1ProcessEvent(t *testing.T) { cfg.CdrsCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} cfg.CdrsCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} cfg.CdrsCfg().StoreCdrs = true - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ @@ -949,7 +949,7 @@ func TestCdrprocessEventsErrLog(t *testing.T) { } Cache.Clear(nil) cfg.CdrsCfg().EEsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaEEs)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ @@ -1173,7 +1173,7 @@ func TestV1ProcessCDR(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, @@ -1216,7 +1216,7 @@ func TestV1ProcessCDRSet(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, @@ -1265,7 +1265,7 @@ func TestV1StoreSessionCost(t *testing.T) { clientconn <- clMock connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{}) cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) config.SetCgrConfig(cfg) Cache = NewCacheS(cfg, dm, nil) @@ -1318,7 +1318,7 @@ func TestV1StoreSessionCostSet(t *testing.T) { clientconn <- clMock connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{}) cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) config.SetCgrConfig(cfg) Cache = NewCacheS(cfg, dm, nil) @@ -1386,7 +1386,7 @@ func TestV2StoreSessionCost(t *testing.T) { }) cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.CdrsCfg().RaterConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.RateSConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) config.SetCgrConfig(cfg) Cache = NewCacheS(cfg, dm, nil) @@ -1461,7 +1461,7 @@ func TestV2StoreSessionCostSet(t *testing.T) { }) cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 cfg.CdrsCfg().RaterConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.RateSConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) config.SetCgrConfig(cfg) Cache = NewCacheS(cfg, dm, nil) @@ -1571,7 +1571,7 @@ func TestV1RateCDRSErr(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ChargerSConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, @@ -1597,12 +1597,12 @@ func TestV1GetCDRsErr(t *testing.T) { defer func() { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, connMgr: nil, - cdrDb: NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + cdrDb: NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), dm: dm, } args := utils.RPCCDRsFilterWithAPIOpts{ @@ -1630,7 +1630,7 @@ func TestGetCostFromRater2(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().RaterConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.RateSConnsCfg)} cfg.CdrsCfg().SchedulerConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.SchedulerConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) ccMock := &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -1680,7 +1680,7 @@ func TestGetCostFromRater2(t *testing.T) { func TestGetCostFromRater3(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().RaterConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.RateSConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) ccMock := &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -1726,7 +1726,7 @@ func TestV2StoreSessionCost2(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 0 cfg.CdrsCfg().RaterConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.RateSConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) ccMOck := &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -1887,7 +1887,7 @@ func TestV1RateCDRSSuccesful(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ChargerSConnsCfg)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, @@ -1933,7 +1933,7 @@ func TestV1RateCDRSSuccesful(t *testing.T) { func TestCdrServerStoreSMCost(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ChargerSConnsCfg)} - db := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + db := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ utils.CacheSessionCostsTBL: { Limit: 2, TTL: 2 * time.Minute, @@ -1989,7 +1989,7 @@ func TestCdrSRateCDR(t *testing.T) { cfg.CdrsCfg().SMCostRetries = 1 cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ChargerSConnsCfg)} cfg.CdrsCfg().RaterConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} - db := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + db := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ utils.CacheSessionCostsTBL: { Limit: 2, TTL: 2 * time.Minute, @@ -2110,7 +2110,7 @@ func TestCdrSRateCDR(t *testing.T) { func TestChrgrSProcessEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CdrsCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clienConn := make(chan birpc.ClientConnector, 1) clienConn <- &ccMock{ @@ -2193,7 +2193,7 @@ func TestCDRServerListenAndServe(t *testing.T) { connMgr = tmpConnMgr config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, @@ -2216,7 +2216,7 @@ func TestCDRServerListenAndServe2(t *testing.T) { connMgr = tmpConnMgr config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, @@ -2252,7 +2252,7 @@ func TestStoreSMCostErr(t *testing.T) { Replicate: true, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) db.db.Set(utils.CacheSessionCostsTBL, "CGRID:CGRID", nil, []string{"GRP_1"}, true, utils.NonTransactional) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ @@ -2349,7 +2349,7 @@ func TestCDRSGetCDRs(t *testing.T) { cfg.CdrsCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} cfg.CdrsCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} cfg.CdrsCfg().SMCostRetries = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- clMock(func(serviceMethod string, _, _ any) error { @@ -2421,7 +2421,7 @@ func TestCDRSGetCDRs(t *testing.T) { func TestV1RateCDRsSuccesful(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) cdrS := &CDRServer{ cgrCfg: cfg, diff --git a/engine/chargers_test.go b/engine/chargers_test.go index 0caa1a771..2ae111f6b 100644 --- a/engine/chargers_test.go +++ b/engine/chargers_test.go @@ -69,7 +69,7 @@ func TestChargerSetChargerProfiles(t *testing.T) { Weight: 20, }, } - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dmCharger = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) fltrCP1 := &Filter{ @@ -215,7 +215,7 @@ func TestChargerMatchingChargerProfilesForEvent(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmCharger = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) chargerSrv = NewChargerService(dmCharger, &FilterS{dm: dmCharger, cfg: cfg}, cfg, nil) @@ -382,7 +382,7 @@ func TestChargerProcessEvent(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmCharger = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) chargerSrv = NewChargerService(dmCharger, &FilterS{dm: dmCharger, cfg: cfg}, cfg, nil) @@ -502,7 +502,7 @@ func TestChargersmatchingChargerProfilesForEventChargerProfileNotFound(t *testin cfg.ChargerSCfg().IndexedSelects = false cfg.ChargerSCfg().NestedFields = false - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmCharger := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) cS := &ChargerService{ dm: dmCharger, @@ -548,7 +548,7 @@ func TestChargersmatchingChargerProfilesForEventDoesNotPass(t *testing.T) { cfg.ChargerSCfg().IndexedSelects = false cfg.ChargerSCfg().NestedFields = false - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmCharger := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), nil) cS := &ChargerService{ dm: dmCharger, diff --git a/engine/connmanager_test.go b/engine/connmanager_test.go index b621ac147..3d3c592e7 100644 --- a/engine/connmanager_test.go +++ b/engine/connmanager_test.go @@ -68,7 +68,7 @@ func TestCMgetConnUnsupportedBiRPC(t *testing.T) { rpcInternal: map[string]chan birpc.ClientConnector{ connID: cc, }, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } experr := rpcclient.ErrUnsupportedBiRPC @@ -113,7 +113,7 @@ func TestCMgetConnNotInternalRPC(t *testing.T) { rpcInternal: map[string]chan birpc.ClientConnector{ "testString": cc, }, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } cM.connCache.Set(connID, nil, nil) @@ -162,7 +162,7 @@ func TestCMgetConnWithConfigUnsupportedTransport(t *testing.T) { rpcInternal: map[string]chan birpc.ClientConnector{ connID: cc, }, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } experr := fmt.Sprintf("Unsupported transport: <%+s>", "invalid") @@ -196,7 +196,7 @@ func TestCMgetConnWithConfigUnsupportedCodec(t *testing.T) { rpcInternal: map[string]chan birpc.ClientConnector{ connID: cc, }, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } experr := rpcclient.ErrUnsupportedCodec @@ -231,7 +231,7 @@ func TestCMgetConnWithConfigEmptyTransport(t *testing.T) { rpcInternal: map[string]chan birpc.ClientConnector{ connID: cc, }, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } cM.connCache.Set(connID, nil, nil) @@ -273,7 +273,7 @@ func TestCMgetConnWithConfigInternalRPCCodec(t *testing.T) { rpcInternal: map[string]chan birpc.ClientConnector{ connID: cc, }, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } rcv, err := cM.getConnWithConfig(context.Background(), connID, cfg.RPCConns()[connID], cc) @@ -305,7 +305,7 @@ func TestCMgetConnWithConfigInternalBiRPCCodecUnsupported(t *testing.T) { rpcInternal: map[string]chan birpc.ClientConnector{ connID: cc, }, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } experr := rpcclient.ErrUnsupportedCodec @@ -415,7 +415,7 @@ func TestCMCallWithConnIDsInternallyDCed(t *testing.T) { cM := &ConnManager{ cfg: cfg, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } subsHostIDs := utils.StringSet{ connID: struct{}{}, @@ -451,7 +451,7 @@ func TestCMCallWithConnIDs2(t *testing.T) { cM := &ConnManager{ cfg: cfg, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } cM.connCache.Set(poolID+utils.ConcatenatedKeySep+connID, ccM, nil) @@ -473,7 +473,7 @@ func TestCMReload(t *testing.T) { cM := &ConnManager{ cfg: cfg, - connCache: ltcache.NewCache(-1, 0, true, nil), + connCache: ltcache.NewCache(-1, 0, true, true, nil), } cM.connCache.Set("itmID1", "value of first item", nil) diff --git a/engine/datamanager_test.go b/engine/datamanager_test.go index a0890f4a7..f0220cb13 100644 --- a/engine/datamanager_test.go +++ b/engine/datamanager_test.go @@ -65,7 +65,7 @@ func TestDmGetDestinationRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -117,7 +117,7 @@ func TestDmGetAccountRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -181,7 +181,7 @@ func TestDmGetFilterRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -251,7 +251,7 @@ func TestDMGetThresholdRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -313,7 +313,7 @@ func TestDMGetThresholdRemoteErr(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -367,7 +367,7 @@ func TestDMGetThresholdProfileRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -423,7 +423,7 @@ func TestDMGetThresholdProfileRemoteErr(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -480,7 +480,7 @@ func TestDMGetStatQueue(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -518,7 +518,7 @@ func TestRebuildReverseForPrefix(t *testing.T) { Remote: true, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) dm.dataDB = &DataDBMock{} db.db.Set(utils.CacheReverseDestinations, utils.ConcatenatedKey(utils.ReverseDestinationPrefix, "item1"), &Destination{}, []string{}, true, utils.NonTransactional) @@ -577,7 +577,7 @@ func TestDMSetAccount(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -646,7 +646,7 @@ func TestDMRemoveAccount(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -710,7 +710,7 @@ func TestDmSetFilter(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -765,7 +765,7 @@ func TestDMSetThreshold(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -821,7 +821,7 @@ func TestDmRemoveThreshold(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -870,7 +870,7 @@ func TestDMReverseDestinationRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -934,7 +934,7 @@ func TestDMStatQueueRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1008,7 +1008,7 @@ func TestDmTimingR(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1078,7 +1078,7 @@ func TestDMSetActionTriggers(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1163,7 +1163,7 @@ func TestDMResourceProfileRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1245,7 +1245,7 @@ func TestDmSharedGroup(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1332,7 +1332,7 @@ func TestDMThresholdProfile(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1382,7 +1382,7 @@ func TestDMRemoveThresholdProfileErr(t *testing.T) { }, } cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -1463,7 +1463,7 @@ func TestDmDispatcherHost(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1526,7 +1526,7 @@ func TestGetDispatcherHostErr(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -1596,7 +1596,7 @@ func TestChargerProfileRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1671,7 +1671,7 @@ func TestDispatcherProfileRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1743,7 +1743,7 @@ func TestRouteProfileRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1812,7 +1812,7 @@ func TestRatingPlanRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -1899,7 +1899,7 @@ func TestGetResourceRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -1965,7 +1965,7 @@ func TestGetResourceProfileRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): clientConn, }) @@ -2025,7 +2025,7 @@ func TestGetActionTriggers(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -2086,7 +2086,7 @@ func TestGetActionTriggersErr(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr1 := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -2163,7 +2163,7 @@ func TestGetSharedGroupRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): clientConn, }) @@ -2218,7 +2218,7 @@ func TestGetStatQueueProfileRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): clientConn, }) @@ -2288,7 +2288,7 @@ func TestStatQueueProfileRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): clientConn, }) @@ -2357,7 +2357,7 @@ func TestDMActionsRemote(t *testing.T) { Id: "SHARED", ActionType: utils.MetaTopUp, ExpirationString: utils.MetaUnlimited}} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): clientConn, }) @@ -2425,7 +2425,7 @@ func TestGetDispatcherHost(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -2480,7 +2480,7 @@ func TestGetReverseDestinationRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -2565,7 +2565,7 @@ func TestDMRemoveDestination(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -2641,7 +2641,7 @@ func TestDMRemoveFilter(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -2732,7 +2732,7 @@ func TestRemoveStatQueueProfile(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -2805,7 +2805,7 @@ func TestDMGetTimingRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -2878,7 +2878,7 @@ func TestDmGetActions(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -2925,7 +2925,7 @@ func TestDMSetLoadIDs(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -2991,7 +2991,7 @@ func TestGetItemLoadIDsRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -3062,7 +3062,7 @@ func TestDMItemLoadIDsRemoteErr(t *testing.T) { utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return errors.New("Can't replicate") }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, @@ -3149,7 +3149,7 @@ func TestActionPlanRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -3213,7 +3213,7 @@ func TestAccountActionPlansRemote(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -3231,7 +3231,7 @@ func TestAccountActionPlansRemote(t *testing.T) { func TestComputeIndexes(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) thd := &ThresholdProfile{ Tenant: "cgrates.org", @@ -3263,7 +3263,7 @@ func TestUpdateFilterIndexRouteIndex(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) oldFlt := &Filter{ @@ -3360,7 +3360,7 @@ func TestUpdateFilterIndexStatIndex(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) oldFlt := &Filter{ @@ -3509,7 +3509,7 @@ func TestDMRatingProfile(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -3537,7 +3537,7 @@ func TestUpdateFilterDispatcherIndex(t *testing.T) { }() Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) oldFlt := &Filter{ Tenant: "cgrates.org", @@ -3644,7 +3644,7 @@ func TestDMGetRatingPlan(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -3707,7 +3707,7 @@ func TestDMChargerProfile(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -3779,7 +3779,7 @@ func TestDMDispatcherProfile(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -3803,7 +3803,7 @@ func TestCacheDataFromDB(t *testing.T) { SetDataStorage(tmpDm) }() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.CacheDataFromDB("INVALID", nil, false); err == nil || err.Error() != utils.UnsupportedCachePrefix { @@ -4123,7 +4123,7 @@ func TestCacheDataFromDBErr(t *testing.T) { cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} cfg.CacheCfg().Partitions[utils.CacheThresholdProfiles].Replicate = true cfg.CacheCfg().ReplicationConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -4204,7 +4204,7 @@ func TestDMGetRouteProfile(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -4256,7 +4256,7 @@ func TestDMGetRouteProfileErr(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches): clientConn, @@ -4286,7 +4286,7 @@ func TestUpdateFilterIndexStatErr1(t *testing.T) { }() Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) dm.dataDB = &DataDBMock{ GetIndexesDrvF: func(idxItmType, tntCtx, idxKey string) (indexes map[string]utils.StringSet, err error) { @@ -4332,7 +4332,7 @@ func TestUpdateFilterIndexRemoveThresholdErr1(t *testing.T) { }() Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) dm.dataDB = &DataDBMock{ GetIndexesDrvF: func(idxItmType, tntCtx, idxKey string) (indexes map[string]utils.StringSet, err error) { @@ -4435,7 +4435,7 @@ func TestDMAttributeProfile(t *testing.T) { }, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1): clientConn, }) @@ -4460,7 +4460,7 @@ func TestUpdateFilterResourceIndexErr(t *testing.T) { }() Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) dm.dataDB = &DataDBMock{ GetIndexesDrvF: func(idxItmType, tntCtx, idxKey string) (indexes map[string]utils.StringSet, err error) { @@ -4497,7 +4497,7 @@ func TestUpdateFilterRouteIndexErr(t *testing.T) { }() Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) dm.dataDB = &DataDBMock{ GetIndexesDrvF: func(idxItmType, tntCtx, idxKey string) (indexes map[string]utils.StringSet, err error) { @@ -4539,7 +4539,7 @@ func TestUpdateFilterChargersIndexErr(t *testing.T) { }() Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) dm.dataDB = &DataDBMock{ GetIndexesDrvF: func(idxItmType, tntCtx, idxKey string) (indexes map[string]utils.StringSet, err error) { @@ -4611,7 +4611,7 @@ func TestDmIndexes(t *testing.T) { connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): clientConn, }) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMgr) idxes := map[string]utils.StringSet{ "*string:Account:1001": { @@ -4670,7 +4670,7 @@ func TestDmCheckFilters(t *testing.T) { connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): clientConn, }) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMgr) config.SetCgrConfig(cfg) if err := dm.checkFilters("cgrates.org", []string{"FLTR_1"}); err == nil || err.Error() != "broken reference to filter: " { @@ -4700,7 +4700,7 @@ func TestRemoveFilterIndexes(t *testing.T) { connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): clientConn, }) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), connMgr) fp3 := &Filter{ Tenant: "cgrates.org", @@ -4743,7 +4743,7 @@ func TestGetDispatcherProfileErr(t *testing.T) { }, } cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -4787,7 +4787,7 @@ func TestRemoveIndexFiltersItem(t *testing.T) { Cache = tmpCache }() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) fltr := &Filter{ Tenant: "cgrates.org", @@ -4843,7 +4843,7 @@ func TestDmRemoveRouteProfileErr(t *testing.T) { defer func() { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) oldRp := &RouteProfile{ Tenant: "cgrates.org", @@ -4892,7 +4892,7 @@ func TestDmCheckFiltersRmt(t *testing.T) { Cache.Clear(nil) cfg.DataDbCfg().Items[utils.MetaFilters].Remote = true cfg.DataDbCfg().RmtConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicatorSv1)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- clMock(func(serviceMethod string, _, _ any) error { if serviceMethod == utils.ReplicatorSv1GetFilter { @@ -4945,7 +4945,7 @@ func TestDmRebuildReverseForPrefix(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) dm.SetDestination(&Destination{ Id: "Dest", @@ -4986,7 +4986,7 @@ func TestDmRebuildReverseForPrefix(t *testing.T) { func TestDmUpdateReverseDestination(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) dst := &Destination{Id: "OldDest", Prefixes: []string{"+494", "+495", "+496"}} dst2 := &Destination{Id: "NewDest", Prefixes: []string{"+497", "+498", "+499"}} @@ -5017,7 +5017,7 @@ func TestDmUpdateReverseDestination(t *testing.T) { func TestIndxFilterContains(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) ft := &Filter{ Tenant: "cgrates.org", diff --git a/engine/destinations_test.go b/engine/destinations_test.go index e55e8c1c2..108c92e18 100644 --- a/engine/destinations_test.go +++ b/engine/destinations_test.go @@ -191,7 +191,7 @@ func TestDMSetDestinationSucces(t *testing.T) { cfg.DataDbCfg().RplFiltered = true cfg.DataDbCfg().RplCache = "cache" - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -240,7 +240,7 @@ func TestDMSetAccountSucces(t *testing.T) { connMgr := NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicationConnsCfg): clientConn, }) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) acc := &Account{ ID: "id", @@ -271,7 +271,7 @@ func TestDMSetReverseDestination(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ diff --git a/engine/exportrequest_test.go b/engine/exportrequest_test.go index f74f01bc6..977c0f10c 100644 --- a/engine/exportrequest_test.go +++ b/engine/exportrequest_test.go @@ -563,7 +563,7 @@ func TestExportRequestSetFields(t *testing.T) { } onm.Append(fullPath, val) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) eeR := &ExportRequest{ inData: map[string]utils.DataStorage{ diff --git a/engine/filters_test.go b/engine/filters_test.go index 3b6adc9b2..841477b00 100644 --- a/engine/filters_test.go +++ b/engine/filters_test.go @@ -888,7 +888,7 @@ func TestFilterNewRequestFilter(t *testing.T) { func TestInlineFilterPassFiltersForEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1140,7 +1140,7 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1248,7 +1248,7 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { func TestPassFilterMaxCost(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1300,7 +1300,7 @@ func TestPassFilterMaxCost(t *testing.T) { func TestPassFilterMissingField(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1346,7 +1346,7 @@ func TestPassFilterMissingField(t *testing.T) { func TestEventCostFilter(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1567,7 +1567,7 @@ func TestVerifyPrefixes(t *testing.T) { func TestPassPartial(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1647,7 +1647,7 @@ func TestVerifyInlineFilterS(t *testing.T) { func TestActivationIntervalPass(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -1832,7 +1832,7 @@ func TestAPIBan(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmFilterPass := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -2312,7 +2312,7 @@ func TestFilterPassRSRFieldsWithMultplieValues(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, 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) @@ -2329,7 +2329,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.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) mockConn := &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ utils.ResourceSv1GetResourceWithConfig: func(ctx *context.Context, args any, reply any) error { @@ -2362,7 +2362,7 @@ func TestWeightFromDynamics(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) passEvent := map[string]any{ utils.Destination: "+4986517174963", @@ -2438,7 +2438,7 @@ func TestFilterLazyPassErr(t *testing.T) { }() Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, @@ -2542,7 +2542,7 @@ func TestSentryPeer(t *testing.T) { defer testServer.Close() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := FilterS{ cfg: cfg, diff --git a/engine/libengine_test.go b/engine/libengine_test.go index c401ae69a..5a8132da4 100644 --- a/engine/libengine_test.go +++ b/engine/libengine_test.go @@ -51,7 +51,7 @@ func TestLibengineNewRPCPoolNoAddress(t *testing.T) { Address: utils.EmptyString, }, } - connCache := ltcache.NewCache(-1, 0, true, nil) + connCache := ltcache.NewCache(-1, 0, true, true, nil) exp := &rpcclient.RPCPool{} experr := rpcclient.ErrDisconnected @@ -173,7 +173,7 @@ func TestLibengineNewRPCPoolUnsupportedTransport(t *testing.T) { Transport: "invalid", }, } - connCache := ltcache.NewCache(-1, 0, true, nil) + connCache := ltcache.NewCache(-1, 0, true, true, nil) var exp *rpcclient.RPCPool experr := fmt.Sprintf("Unsupported transport: <%s>", diff --git a/engine/libindex_test.go b/engine/libindex_test.go index 41f63e401..8350bf554 100644 --- a/engine/libindex_test.go +++ b/engine/libindex_test.go @@ -48,7 +48,7 @@ func TestLibIndexIsDynamicDPPath(t *testing.T) { func TestLibIndexRemoveFilterIndexesForFilter(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) tntCtx := "cgrates.org:*sessions" @@ -183,7 +183,7 @@ func TestLibIndexSplitFilterIndexErrWrongIdxKeyFormat(t *testing.T) { func TestLibIndexNewFilterIndexGetFilterErrNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) tnt := "tenant" ctx := "context" diff --git a/engine/libstats_test.go b/engine/libstats_test.go index 250eb3952..8c3431a41 100644 --- a/engine/libstats_test.go +++ b/engine/libstats_test.go @@ -1033,7 +1033,7 @@ func TestStatQueueaddStatEventPassErr(t *testing.T) { filters := &FilterS{ cfg: config.CgrConfig(), dm: &DataManager{ - dataDB: NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items), + dataDB: NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items), }, connMgr: &ConnManager{}, } diff --git a/engine/libtest.go b/engine/libtest.go index 485b4f79b..f86ce2665 100644 --- a/engine/libtest.go +++ b/engine/libtest.go @@ -65,6 +65,29 @@ func InitDataDb(cfg *config.CGRConfig) error { return nil } +// Initiates DataDB, flushes it, and closes the connection after +func PreInitDataDb(cfg *config.CGRConfig) error { + d, 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, cfg.DataDbCfg().Items) + if err != nil { + return err + } + dm := NewDataManager(d, cfg.CacheCfg(), connMgr) + + if err := dm.DataDB().Flush(""); err != nil { + return err + } + // Write version before starting + if err := OverwriteDBVersions(dm.dataDB); err != nil { + return err + } + d.Close() + return nil +} + func InitStorDb(cfg *config.CGRConfig) error { storDb, err := NewStorDBConn(cfg.StorDbCfg().Type, cfg.StorDbCfg().Host, cfg.StorDbCfg().Port, @@ -89,6 +112,32 @@ func InitStorDb(cfg *config.CGRConfig) error { return nil } +// Initiates StorDB, flushes it, and closed the connection after +func PreInitStorDb(cfg *config.CGRConfig) error { + storDb, 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, cfg.StorDbCfg().Items) + if err != nil { + return err + } + dbPath := strings.Trim(cfg.StorDbCfg().Type, "*") + if err := storDb.Flush(path.Join(cfg.DataFolderPath, "storage", + dbPath)); err != nil { + return err + } + if slices.Contains([]string{utils.MetaMongo, utils.MetaMySQL, utils.MetaPostgres}, + cfg.StorDbCfg().Type) { + if err := SetDBVersions(storDb); err != nil { + return err + } + } + storDb.Close() + return nil +} + // Return reference towards the command started so we can stop it if necessary func StartEngine(cfgPath string, waitEngine int) (*exec.Cmd, error) { enginePath, err := exec.LookPath("cgr-engine") @@ -342,6 +391,7 @@ type TestEngine struct { TpPath string // path to the tariff plans TpFiles map[string]string // CSV data for tariff plans: filename -> content GracefulShutdown bool // shutdown the engine gracefuly, otherwise use process.Kill + PreInitDB bool // close db connections after initiating and flushing db // PreStartHook executes custom logic relying on CGRConfig // before starting cgr-engine. @@ -354,7 +404,7 @@ type TestEngine struct { func (ng TestEngine) Run(t testing.TB, extraFlags ...string) (*birpc.Client, *config.CGRConfig) { t.Helper() cfg := parseCfg(t, ng.ConfigPath, ng.ConfigJSON, ng.DBCfg) - FlushDBs(t, cfg, !ng.PreserveDataDB, !ng.PreserveStorDB) + FlushDBs(t, cfg, !ng.PreserveDataDB, !ng.PreserveStorDB, ng.PreInitDB) if ng.PreStartHook != nil { ng.PreStartHook(t, cfg) } @@ -528,16 +578,28 @@ func LoadCSVs(t testing.TB, client *birpc.Client, tpPath string, csvFiles map[st } // flushDBs resets the databases specified in the configuration if the corresponding flags are true. -func FlushDBs(t testing.TB, cfg *config.CGRConfig, flushDataDB, flushStorDB bool) { +func FlushDBs(t testing.TB, cfg *config.CGRConfig, flushDataDB, flushStorDB bool, preInitDB bool) { t.Helper() if flushDataDB { - if err := InitDataDb(cfg); err != nil { - t.Fatalf("failed to flush %s dataDB: %v", cfg.DataDbCfg().Type, err) + if preInitDB { + if err := PreInitDataDb(cfg); err != nil { + t.Fatalf("failed to flush %s dataDB: %v", cfg.DataDbCfg().Type, err) + } + } else { + if err := InitDataDb(cfg); err != nil { + t.Fatalf("failed to flush %s dataDB: %v", cfg.DataDbCfg().Type, err) + } } } if flushStorDB { - if err := InitStorDb(cfg); err != nil { - t.Fatalf("failed to flush %s storDB: %v", cfg.StorDbCfg().Type, err) + if preInitDB { + if err := PreInitStorDb(cfg); err != nil { + t.Fatalf("failed to flush %s storDB: %v", cfg.StorDbCfg().Type, err) + } + } else { + if err := InitStorDb(cfg); err != nil { + t.Fatalf("failed to flush %s storDB: %v", cfg.StorDbCfg().Type, err) + } } } } diff --git a/engine/rankings_test.go b/engine/rankings_test.go index 14c957490..b0a49522e 100644 --- a/engine/rankings_test.go +++ b/engine/rankings_test.go @@ -110,7 +110,7 @@ func TestRankingProcessEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.RankingSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) rankingProfile := &RankingProfile{ @@ -162,7 +162,7 @@ func TestProcessThresholdsEmptySortedStatIDs(t *testing.T) { func TestProcessEEsHandlesEmptySortedStatIDs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.RankingSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) rankingService := &RankingS{ @@ -194,7 +194,7 @@ func TestProcessEEsHandlesEmptyEEsConns(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.RankingSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) rankingService := &RankingS{ @@ -259,7 +259,7 @@ func TestV1ScheduleQueriesInvalidRankingID(t *testing.T) { func TestStoreRanking(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, nil) + dataDB := NewInternalDB(nil, nil, true, false, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) rkg := NewRankingS(dm, nil, nil, cfg) @@ -302,7 +302,7 @@ func TestRankingsStoreRankings(t *testing.T) { cfg.RankingSCfg().Enabled = true cfg.RankingSCfg().StoreInterval = time.Millisecond * 1300 cfg.RankingSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) conn := make(chan context.ClientConnector, 1) conn <- &ccMock{ @@ -378,7 +378,7 @@ func TestV1GetRankingSummary(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.RankingSCfg().Enabled = true - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) connMgr := NewConnManager(config.NewDefaultCGRConfig(), nil) @@ -430,7 +430,7 @@ func TestV1GetRankingSummary(t *testing.T) { func TestV1GetSchedule(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) connMgr := NewConnManager(config.NewDefaultCGRConfig(), nil) @@ -491,7 +491,7 @@ func TestV1GetSchedule(t *testing.T) { func TestV1GetRankingMissingID(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) connMgr := NewConnManager(config.NewDefaultCGRConfig(), nil) @@ -556,7 +556,7 @@ func TestV1GetRankingSortedStatIDs(t *testing.T) { func TestV1ScheduleQueries(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) connMgr := NewConnManager(config.NewDefaultCGRConfig(), nil) diff --git a/engine/ratingprofile_test.go b/engine/ratingprofile_test.go index bcbb89c39..0af540061 100644 --- a/engine/ratingprofile_test.go +++ b/engine/ratingprofile_test.go @@ -405,7 +405,7 @@ func TestRatingProfileGetRatingPlansPrefixAny(t *testing.T) { defer func() { dm = tmpDm }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) rpf := &RatingProfile{ Id: "*out:cgrates.org:call:1001", diff --git a/engine/responder_test.go b/engine/responder_test.go index f6b5b4b7f..1e3c26d31 100644 --- a/engine/responder_test.go +++ b/engine/responder_test.go @@ -477,7 +477,7 @@ func TestResponderGetCost(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -533,7 +533,7 @@ func TestResponderGetCostSet(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -592,7 +592,7 @@ func TestResponderDebit(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -638,7 +638,7 @@ func TestResponderDebit(t *testing.T) { func TestGetCostOnRatingPlansErr(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) arg := &utils.GetCostOnRatingPlansArgs{ Account: "account", @@ -685,7 +685,7 @@ func TestResponderDebitSet(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -747,7 +747,7 @@ func TestResponderMaxDebit(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -806,7 +806,7 @@ func TestResponderMaxDebitSet(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -868,7 +868,7 @@ func TestResponderRefundIncrements(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -930,7 +930,7 @@ func TestResponderRefundIncrementsSet(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -998,7 +998,7 @@ func TestResponderRefundRounding(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -1060,7 +1060,7 @@ func TestResponderRefundRoundingSet(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -1129,7 +1129,7 @@ func TestGetMaxSessionTimeOnAccountsErr(t *testing.T) { buf := new(bytes.Buffer) log.SetOutput(buf) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) defer func() { utils.Logger.SetLogLevel(0) @@ -1170,7 +1170,7 @@ func TestGetMaxSessionTime(t *testing.T) { dm = tmpdm config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) acc := &Account{ ID: "cgrates.org:acc_id", @@ -1220,7 +1220,7 @@ func TestResponderShutDown(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) config.SetCgrConfig(cfg) @@ -1255,7 +1255,7 @@ func TestResponderDebitDebit(t *testing.T) { defer func() { dm = tmpdm }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) rsponder.MaxComputedUsage = map[string]time.Duration{ utils.MetaAny: 10 * time.Minute, @@ -1348,7 +1348,7 @@ func TestResponderGetCostOnRatingPlans(t *testing.T) { defer func() { dm = tmpdm }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) arg := &utils.GetCostOnRatingPlansArgs{ diff --git a/engine/routes_test.go b/engine/routes_test.go index 94c72f2e4..4684c72e5 100644 --- a/engine/routes_test.go +++ b/engine/routes_test.go @@ -293,7 +293,7 @@ func prepareRoutesData(t *testing.T, dm *DataManager) { func TestRoutesCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -305,7 +305,7 @@ func TestRoutesmatchingRouteProfilesForEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) routeService := NewRouteService(dmSPP, &FilterS{ dm: dmSPP, cfg: cfg}, cfg, nil) @@ -326,7 +326,7 @@ func TestRoutesSortedForEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) routeService := NewRouteService(dmSPP, &FilterS{ dm: dmSPP, cfg: cfg}, cfg, nil) @@ -432,7 +432,7 @@ func TestRoutesSortedForEventWithLimit(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) routeService := NewRouteService(dmSPP, &FilterS{ dm: dmSPP, cfg: cfg}, cfg, nil) @@ -479,7 +479,7 @@ func TestRoutesSortedForEventWithLimit(t *testing.T) { func TestRoutesSortedForEventWithOffset(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -518,7 +518,7 @@ func TestRoutesSortedForEventWithOffset(t *testing.T) { func TestRoutesSortedForEventWithLimitAndOffset(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -559,7 +559,7 @@ func TestRoutesAsOptsGetRoutesMaxCost(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -596,7 +596,7 @@ func TestRoutesAsOptsGetRoutesMaxCost(t *testing.T) { func TestRoutesMatchWithIndexFalse(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -714,7 +714,7 @@ func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -871,7 +871,7 @@ func TestRouteServiceStatMetrics(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -909,7 +909,7 @@ func TestRouteServiceStatMetricsLog(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} clientconn := make(chan birpc.ClientConnector, 1) @@ -931,7 +931,7 @@ func TestRouteServiceV1GetRouteProfilesForEvent(t *testing.T) { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -1033,7 +1033,7 @@ func TestRouteServiceV1GetRoutes(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -1082,7 +1082,7 @@ func TestRouteServiceSortRoutes(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) rpS := NewRouteService(dmSPP, &FilterS{dm: dmSPP, cfg: cfg, connMgr: nil}, cfg, nil) utils.Logger.SetLogLevel(4) @@ -1170,7 +1170,7 @@ func TestRDSRSortRoutes(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -1243,7 +1243,7 @@ func TestQosRSortRoutes(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -1348,7 +1348,7 @@ func TestReaSortRoutes(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} cfg.RouteSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} @@ -1441,7 +1441,7 @@ func TestHCRSortRoutes(t *testing.T) { }() Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) rpS := NewRouteService(dmSPP, &FilterS{dm: dmSPP, cfg: cfg, connMgr: nil}, cfg, nil) hcr := &HightCostSorter{ @@ -1520,7 +1520,7 @@ func TestLoadDistributionSorterSortRoutes(t *testing.T) { }() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} cfg.RouteSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} @@ -1678,7 +1678,7 @@ func TestRouteServicePopulateSortingData(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.RouteSCfg().StringIndexedFields = nil cfg.RouteSCfg().PrefixIndexedFields = nil @@ -1757,7 +1757,7 @@ func TestNewOptsGetRoutes(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) ev := &utils.CGREvent{ @@ -1795,7 +1795,7 @@ func TestRSStatMetricsLogg(t *testing.T) { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() cfg.RouteSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ @@ -1830,7 +1830,7 @@ func TestRSStatMetricsForLoadDistributionLogg(t *testing.T) { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() cfg.RouteSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- &ccMock{ @@ -2174,7 +2174,7 @@ func TestV1GetRoutesList(t *testing.T) { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmSPP := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) rpS := NewRouteService(dmSPP, &FilterS{dm: dmSPP, cfg: cfg, connMgr: nil}, cfg, connMgr) var reply []string @@ -2186,7 +2186,7 @@ func TestV1GetRoutesList(t *testing.T) { func TestRoutesV1GetRoutes(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) rpS := NewRouteService(dm, NewFilterS(cfg, nil, dm), cfg, nil) @@ -2249,7 +2249,7 @@ func TestRoutesV1GetRoutes(t *testing.T) { func TestRoutesV1GetRoutesList(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) rpS := NewRouteService(dm, NewFilterS(cfg, nil, dm), cfg, nil) var reply []string @@ -2304,7 +2304,7 @@ func TestRoutesV1GetRoutesList(t *testing.T) { func TestRouteServiceV1GetRoutesErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.RouteSCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) clientConn := make(chan birpc.ClientConnector, 1) clientConn <- clMock(func(serviceMethod string, _, _ any) error { @@ -2380,7 +2380,7 @@ func TestRouteServiceSortRoutesQos(t *testing.T) { }, } cfg.RouteSCfg().RALsConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs)} - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) SetDataStorage(dm) rs := NewRouteService(dm, NewFilterS(cfg, nil, dm), cfg, NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): clientConn, diff --git a/engine/stats_test.go b/engine/stats_test.go index 9a72ae5f7..0e24517b3 100644 --- a/engine/stats_test.go +++ b/engine/stats_test.go @@ -236,7 +236,7 @@ func TestMatchingStatQueuesForEvent(t *testing.T) { cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil cfg.StatSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dmSTS := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) statService := NewStatService(dmSTS, cfg, &FilterS{dm: dmSTS, cfg: cfg}, nil) @@ -301,7 +301,7 @@ func TestStatQueuesProcessEvent(t *testing.T) { cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil cfg.StatSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dmSTS := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) statService := NewStatService(dmSTS, cfg, &FilterS{dm: dmSTS, cfg: cfg}, nil) @@ -363,7 +363,7 @@ func TestStatQueuesMatchWithIndexFalse(t *testing.T) { cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil cfg.StatSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dmSTS := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) statService := NewStatService(dmSTS, cfg, &FilterS{dm: dmSTS, cfg: cfg}, nil) @@ -429,7 +429,7 @@ func TestStatQueuesV1ProcessEvent(t *testing.T) { cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil cfg.StatSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dmSTS := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) statService := NewStatService(dmSTS, cfg, &FilterS{dm: dmSTS, cfg: cfg}, nil) @@ -481,7 +481,7 @@ func TestStatQueuesV1ProcessEvent(t *testing.T) { func TestStatQueuesUpdateStatQueue(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items), cfg.CacheCfg(), nil) sqp := &StatQueueProfile{ Tenant: "cgrates.org", ID: "THUP1", @@ -685,7 +685,7 @@ func TestStatQueuesUpdateStatQueue(t *testing.T) { func TestStatQueueMatchingStatQueuesForEventLocks(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -732,7 +732,7 @@ func TestStatQueueMatchingStatQueuesForEventLocks(t *testing.T) { func TestStatQueueMatchingStatQueuesForEventLocks2(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -793,7 +793,7 @@ func TestStatQueueMatchingStatQueuesForEventLocks2(t *testing.T) { func TestStatQueueMatchingStatQueuesForEventLocksBlocker(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -850,7 +850,7 @@ func TestStatQueueMatchingStatQueuesForEventLocksBlocker(t *testing.T) { func TestStatQueueMatchingStatQueuesForEventLocksActivationInterval(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -951,7 +951,7 @@ func TestStatQueueMatchingStatQueuesForEventLocks3(t *testing.T) { func TestStatQueueMatchingStatQueuesForEventLocks4(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.StatSCfg().StoreInterval = 1 cfg.StatSCfg().StringIndexedFields = nil @@ -1030,7 +1030,7 @@ func TestStatQueueStartLoop(t *testing.T) { func TestStatQueueRunBackupStop(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 5 * time.Millisecond - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tnt := "cgrates.org" sqID := "testSQ" @@ -1085,7 +1085,7 @@ func TestStatQueueShutdown(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) sS := NewStatService(dm, cfg, nil, nil) @@ -1108,7 +1108,7 @@ func TestStatQueueStoreStatsOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) sS := NewStatService(dm, cfg, nil, nil) @@ -1193,7 +1193,7 @@ func TestStatQueueStoreStatsCacheGetErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) sS := NewStatService(dm, cfg, nil, nil) @@ -1219,7 +1219,7 @@ func TestStatQueueStoreStatsCacheGetErr(t *testing.T) { func TestStatQueueStoreThresholdNilDirtyField(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) sS := NewStatService(dm, cfg, nil, nil) @@ -1235,7 +1235,7 @@ func TestStatQueueStoreThresholdNilDirtyField(t *testing.T) { func TestStatQueueProcessEventOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) sS := NewStatService(dm, cfg, filterS, nil) @@ -1298,7 +1298,7 @@ func TestStatQueueProcessEventOK(t *testing.T) { func TestStatQueueProcessEventProcessThPartExec(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) sS := NewStatService(dm, cfg, filterS, nil) @@ -1356,7 +1356,7 @@ func TestStatQueueV1ProcessEventMissingArgs(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1447,7 +1447,7 @@ func TestStatQueueV1GetQueueIDsOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1548,7 +1548,7 @@ func TestStatQueueV1GetStatQueueOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1614,7 +1614,7 @@ func TestStatQueueV1GetStatQueueNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1638,7 +1638,7 @@ func TestStatQueueV1GetStatQueueMissingArgs(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1700,7 +1700,7 @@ func TestStatQueueV1GetStatQueuesForEventOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1777,7 +1777,7 @@ func TestStatQueueV1GetStatQueuesForEventNotFoundErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1827,7 +1827,7 @@ func TestStatQueueV1GetStatQueuesForEventMissingArgs(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1898,7 +1898,7 @@ func TestStatQueueV1ResetStatQueueOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1983,7 +1983,7 @@ func TestStatQueueV1ResetStatQueueNotFoundErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2046,7 +2046,7 @@ func TestStatQueueV1ResetStatQueueMissingArgs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2108,7 +2108,7 @@ func TestStatQueueV1ResetStatQueueUnsupportedMetricType(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2175,7 +2175,7 @@ func TestStatQueueProcessThresholdsOKNoThIDs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -2241,7 +2241,7 @@ func TestStatQueueProcessThresholdsOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -2349,7 +2349,7 @@ func TestStatQueueProcessThresholdsErrPartExec(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().ThresholdSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaThresholds)} - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -2430,7 +2430,7 @@ func TestStatQueueV1GetQueueFloatMetricsOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2498,7 +2498,7 @@ func TestStatQueueV1GetQueueFloatMetricsErrNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2561,7 +2561,7 @@ func TestStatQueueV1GetQueueFloatMetricsMissingArgs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2645,7 +2645,7 @@ func TestStatQueueV1GetQueueStringMetricsOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2713,7 +2713,7 @@ func TestStatQueueV1GetQueueStringMetricsErrNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2776,7 +2776,7 @@ func TestStatQueueV1GetQueueStringMetricsMissingArgs(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2863,7 +2863,7 @@ func TestStatQueueStoreStatQueueStoreIntervalDisabled(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = -1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan birpc.ClientConnector)) Cache.Clear(nil) @@ -2891,7 +2891,7 @@ func TestStatQueueGetStatQueueOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().StoreInterval = 1 - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2973,7 +2973,7 @@ 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, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan birpc.ClientConnector)) Cache = NewCacheS(cfg, dm, nil) @@ -3005,7 +3005,7 @@ func TestStatQueueV1GetStatQueuesForSliceOptsErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() cfg.StatSCfg().Opts.ProfileIDs = []string{utils.OptsStatsProfileIDs} - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -3072,7 +3072,7 @@ func TestStatQueueV1GetStatQueuesForEventBoolOptsErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -3140,7 +3140,7 @@ func TestMatchingStatQueuesForEventErr(t *testing.T) { config.SetCgrConfig(tmpC) }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -3163,7 +3163,7 @@ func TestMatchingStatQueuesForEventErr(t *testing.T) { func TestStatQueueProcessEventErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) sS := NewStatService(dm, cfg, filterS, nil) diff --git a/engine/storage_test.go b/engine/storage_test.go index 0d08199f9..02dcf8e02 100644 --- a/engine/storage_test.go +++ b/engine/storage_test.go @@ -495,7 +495,7 @@ func BenchmarkMarshallerBincStoreRestore(b *testing.B) { } func TestIDBRemoveIndexesDrv(t *testing.T) { - idb := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + idb := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ "chID": { Limit: 3, TTL: 4 * time.Minute, @@ -534,7 +534,7 @@ func TestIDBRemoveIndexesDrv(t *testing.T) { } func TestIDBGetDispatcherHostDrv(t *testing.T) { - idb := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + idb := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ utils.CacheDispatcherHosts: { Limit: 2, Remote: true, @@ -554,7 +554,7 @@ func TestIDBGetDispatcherHostDrv(t *testing.T) { } func TestIDBRemoveDispatcherHostDrv(t *testing.T) { - idb := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + idb := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ utils.CacheDispatcherHosts: { Limit: 2, Remote: true, @@ -575,7 +575,7 @@ func TestIDBRemoveDispatcherHostDrv(t *testing.T) { } func TestIDBSetStatQueueDrvNil(t *testing.T) { - idb := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + idb := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ utils.CacheStatQueues: { Limit: 4, StaticTTL: true, @@ -610,7 +610,7 @@ func TestGetTpTableIds(t *testing.T) { StaticTTL: true, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpid := "*prf" paginator := &utils.PaginatorWithSearch{ Paginator: &utils.Paginator{}, @@ -639,7 +639,7 @@ func TestIDBGetTpIds(t *testing.T) { StaticTTL: true, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) db.db.Set(utils.CacheTBLTPRates, "item_ID1", "value", []string{"grpID"}, true, utils.NonTransactional) db.db.Set(utils.CacheTBLTPRates, "item_ID2", "value", []string{"grpID"}, true, utils.NonTransactional) exp := []string{"item_ID1", "item_ID2"} @@ -657,7 +657,7 @@ func TestIDBGetTpIds(t *testing.T) { func TestIDBTpResources(t *testing.T) { cfg := config.NewDefaultCGRConfig() - storDB := NewInternalDB(nil, nil, false, cfg.StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, cfg.StorDbCfg().Items) // READ if _, err := storDB.GetTPResources("TP1", utils.EmptyString, utils.EmptyString); err != utils.ErrNotFound { t.Error(err) @@ -726,7 +726,7 @@ func TestIDBTpResources(t *testing.T) { func TestIDBTpStats(t *testing.T) { cfg := config.NewDefaultCGRConfig() - storDB := NewInternalDB(nil, nil, false, cfg.StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, cfg.StorDbCfg().Items) // READ if _, err := storDB.GetTPStats("TP1", utils.EmptyString, utils.EmptyString); err != utils.ErrNotFound { @@ -792,7 +792,7 @@ func TestIDBTpStats(t *testing.T) { func TestIDBTPThresholds(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) //READ if _, err := storDB.GetTPThresholds("TH1", utils.EmptyString, utils.EmptyString); err != utils.ErrNotFound { t.Error(err) @@ -863,7 +863,7 @@ func TestIDBTPThresholds(t *testing.T) { } func TestIDBTPFilters(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) //READ if _, err := storDB.GetTPFilters("TP1", utils.EmptyString, utils.EmptyString); err != utils.ErrNotFound { t.Error(err) @@ -933,7 +933,7 @@ func TestIDBTPFilters(t *testing.T) { } func TestIDTPRoutes(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) //READ if _, err := storDB.GetTPRoutes("TP1", utils.EmptyString, utils.EmptyString); err != utils.ErrNotFound { t.Error(err) @@ -1019,7 +1019,7 @@ func TestIDTPRoutes(t *testing.T) { } func TestIDBTPAttributes(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) //READ if _, err := storDB.GetTPAttributes("TP_ID", utils.EmptyString, utils.EmptyString); err != utils.ErrNotFound { t.Error(err) @@ -1103,7 +1103,7 @@ func TestIDBTPAttributes(t *testing.T) { } func TestIDBRemTpData(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) tpAccActions := []*utils.TPAccountActions{ { TPid: "TP1", @@ -1141,7 +1141,7 @@ func TestIDBRemTpData(t *testing.T) { } func TestIDBTpSharedGroups(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) // READ if _, err := storDB.GetTPSharedGroups("TP1", ""); err != utils.ErrNotFound { t.Error(err) @@ -1207,7 +1207,7 @@ func TestIDBTpSharedGroups(t *testing.T) { } func TestIDBGetTpIdsEmptyCol(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) tpRoutes := []*utils.TPRouteProfile{ { TPid: "TP1", @@ -1259,7 +1259,7 @@ func TestIDBGetTpIdsEmptyCol(t *testing.T) { } func TestIDBGetTpTableIds(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) tpAccActions := []*utils.TPAccountActions{ { TPid: "TP1", @@ -1295,7 +1295,7 @@ func TestIDBGetTpTableIds(t *testing.T) { } func TestIDBGetTPDestinationRatesPaginator(t *testing.T) { - storDB := NewInternalDB(nil, nil, true, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, true, false, config.CgrConfig().StorDbCfg().Items) destRates := []*utils.TPDestinationRate{ { TPid: "TEST_TPID", @@ -1345,7 +1345,7 @@ func TestIDBGetTPDestinationRatesPaginator(t *testing.T) { } func TestIDBGetTPRatingPlans(t *testing.T) { - storDB := NewInternalDB(nil, nil, true, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, true, false, config.CgrConfig().StorDbCfg().Items) ratingPlans := []*utils.TPRatingPlan{ { TPid: "TP1", @@ -1393,7 +1393,7 @@ func TestIDBGetTPRatingPlans(t *testing.T) { } func TestIDBRemoveSMCost(t *testing.T) { - storDB := NewInternalDB(nil, nil, true, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, true, false, config.CgrConfig().StorDbCfg().Items) // READ if _, err := storDB.GetSMCosts("", "", "", ""); err != utils.ErrNotFound { t.Error(err) @@ -1441,7 +1441,7 @@ func TestIDBRemoveSMCost(t *testing.T) { } func TestIDBRemoveSMC(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) // READ if _, err := storDB.GetSMCosts("", "", "", ""); err != utils.ErrNotFound { t.Error(err) @@ -1507,7 +1507,7 @@ func TestIDBRemoveSMC(t *testing.T) { } func TestIDBVersions(t *testing.T) { - dataDB := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) if _, err := dataDB.GetVersions(utils.Accounts); err != utils.ErrNotFound { t.Error(err) } @@ -1573,7 +1573,7 @@ func TestIDBVersions(t *testing.T) { } func TestIDBGetCDR(t *testing.T) { - storDB := NewInternalDB([]string{utils.AccountField, utils.CGRID, utils.OriginID, utils.RequestType, utils.Tenant, utils.Category, utils.RunID, utils.Source, utils.ToR, utils.Subject, utils.OriginHost, "ExtraHeader1", "ExtraHeader2"}, []string{"Destination", "Header2"}, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB([]string{utils.AccountField, utils.CGRID, utils.OriginID, utils.RequestType, utils.Tenant, utils.Category, utils.RunID, utils.Source, utils.ToR, utils.Subject, utils.OriginHost, "ExtraHeader1", "ExtraHeader2"}, []string{"Destination", "Header2"}, false, false, config.CgrConfig().StorDbCfg().Items) cdr := &CDR{ CGRID: "CGR1", @@ -1606,7 +1606,7 @@ func TestIDBGetCDR(t *testing.T) { } func TestIDBGeTps(t *testing.T) { - storDB := NewInternalDB(nil, nil, false, config.CgrConfig().StorDbCfg().Items) + storDB := NewInternalDB(nil, nil, false, false, config.CgrConfig().StorDbCfg().Items) resources := []*utils.TPResourceProfile{ { TPid: "TP1", @@ -1794,7 +1794,7 @@ func TestIDBGeTps(t *testing.T) { } func TestIDBGetAllActionPlanDrv(t *testing.T) { - dataDB := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) acPln := []struct { key string apl *ActionPlan diff --git a/engine/thresholds_test.go b/engine/thresholds_test.go index 571e73f2a..c10bb7954 100644 --- a/engine/thresholds_test.go +++ b/engine/thresholds_test.go @@ -225,7 +225,7 @@ func prepareThresholdData(t *testing.T, dm *DataManager) { func TestThresholdsCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 0 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -235,7 +235,7 @@ func TestThresholdsCache(t *testing.T) { func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 0 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -283,7 +283,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { func TestThresholdsProcessEvent(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 0 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -316,7 +316,7 @@ func TestThresholdsProcessEvent(t *testing.T) { func TestThresholdsVerifyIfExecuted(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 0 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -386,7 +386,7 @@ func TestThresholdsVerifyIfExecuted(t *testing.T) { func TestThresholdsProcessEvent2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmTH := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 0 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -454,7 +454,7 @@ func TestThresholdsProcessEvent2(t *testing.T) { func TestThresholdsUpdateThreshold(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) thp := &ThresholdProfile{ Tenant: "cgrates.org", ID: "THUP1", @@ -702,7 +702,7 @@ func TestThresholdsShutdown(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tS := NewThresholdService(dm, cfg, nil) @@ -721,7 +721,7 @@ func TestThresholdsShutdown(t *testing.T) { func TestThresholdsStoreThresholdsOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tS := NewThresholdService(dm, cfg, nil) @@ -800,7 +800,7 @@ func TestThresholdsStoreThresholdsCacheGetErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tS := NewThresholdService(dm, cfg, nil) @@ -827,7 +827,7 @@ func TestThresholdsStoreThresholdsCacheGetErr(t *testing.T) { func TestThresholdsStoreThresholdNilDirtyField(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tS := NewThresholdService(dm, cfg, nil) @@ -844,7 +844,7 @@ func TestThresholdsStoreThresholdNilDirtyField(t *testing.T) { func TestThresholdsProcessEventOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := NewThresholdService(dm, cfg, filterS) @@ -903,7 +903,7 @@ func TestThresholdsProcessEventOK(t *testing.T) { func TestThresholdsProcessEventStoreThOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := NewThresholdService(dm, cfg, filterS) @@ -972,7 +972,7 @@ func TestThresholdsProcessEventMaxHitsDMErr(t *testing.T) { cfg.CacheCfg().ReplicationConns = []string{"test"} cfg.CacheCfg().Partitions[utils.CacheThresholds].Replicate = true config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr = NewConnManager(cfg, make(map[string]chan birpc.ClientConnector)) dm := NewDataManager(data, cfg.CacheCfg(), connMgr) filterS := NewFilterS(cfg, nil, dm) @@ -1044,7 +1044,7 @@ func TestThresholdsProcessEventMaxHitsDMErr(t *testing.T) { func TestThresholdsProcessEventNotFound(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) filterS := NewFilterS(cfg, nil, dm) tS := NewThresholdService(dm, cfg, filterS) @@ -1096,7 +1096,7 @@ func TestThresholdsProcessEventNotFound(t *testing.T) { func TestThresholdsV1ProcessEventOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1156,7 +1156,7 @@ func TestThresholdsV1ProcessEventPartExecErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1213,7 +1213,7 @@ func TestThresholdsV1ProcessEventPartExecErr(t *testing.T) { func TestThresholdsV1ProcessEventMissingArgs(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1282,7 +1282,7 @@ func TestThresholdsV1ProcessEventMissingArgs(t *testing.T) { func TestThresholdsV1GetThresholdOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1325,7 +1325,7 @@ func TestThresholdsV1GetThresholdOK(t *testing.T) { func TestThresholdsV1GetThresholdNotFoundErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1356,7 +1356,7 @@ func TestThresholdsV1GetThresholdNotFoundErr(t *testing.T) { func TestThresholdMatchingThresholdForEventLocks(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -1409,7 +1409,7 @@ func TestThresholdMatchingThresholdForEventLocks(t *testing.T) { func TestThresholdMatchingThresholdForEventLocks2(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -1470,7 +1470,7 @@ func TestThresholdMatchingThresholdForEventLocks2(t *testing.T) { func TestThresholdMatchingThresholdForEventLocksBlocker(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -1529,7 +1529,7 @@ func TestThresholdMatchingThresholdForEventLocksBlocker(t *testing.T) { func TestThresholdMatchingThresholdForEventLocksActivationInterval(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -1632,7 +1632,7 @@ func TestThresholdMatchingThresholdForEventLocks3(t *testing.T) { func TestThresholdMatchingThresholdForEventLocks4(t *testing.T) { cfg := config.NewDefaultCGRConfig() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -1683,7 +1683,7 @@ func TestThresholdMatchingThresholdForEventLocks5(t *testing.T) { config.SetCgrConfig(tmpC) }() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), NewConnManager(cfg, make(map[string]chan birpc.ClientConnector))) cfg.ThresholdSCfg().StoreInterval = 1 cfg.ThresholdSCfg().StringIndexedFields = nil @@ -1751,7 +1751,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, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tnt := "cgrates.org" thID := "Th1" @@ -1836,7 +1836,7 @@ func TestThresholdsV1GetThresholdsForEventOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1887,7 +1887,7 @@ func TestThresholdsV1GetThresholdsForEventMissingArgs(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -1951,7 +1951,7 @@ func TestThresholdsV1GetThresholdIDsOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2021,7 +2021,7 @@ func TestThresholdsV1ResetThresholdOK(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2073,7 +2073,7 @@ func TestThresholdsV1ResetThresholdErrNotFound(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2117,7 +2117,7 @@ func TestThresholdsV1ResetThresholdNegativeStoreIntervalOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2165,7 +2165,7 @@ func TestThresholdsV1ResetThresholdNegativeStoreIntervalErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.ThresholdSCfg().StoreInterval = -1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2279,7 +2279,7 @@ func TestThresholdsMatchingThresholdsForEventNotFoundErr(t *testing.T) { }() cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) filterS := NewFilterS(cfg, nil, dm) @@ -2334,7 +2334,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, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan birpc.ClientConnector)) Cache = NewCacheS(cfg, dm, nil) @@ -2375,7 +2375,7 @@ func TestThresholdSnoozeSleep(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) fs := NewFilterS(cfg, nil, dm) var snoozeTime time.Time diff --git a/engine/tpreader_test.go b/engine/tpreader_test.go index ee3545990..6e20d9f29 100644 --- a/engine/tpreader_test.go +++ b/engine/tpreader_test.go @@ -1029,7 +1029,7 @@ func TestTPReaderReloadCache(t *testing.T) { rgProfiles: map[utils.TenantID]*utils.TPRankingProfile{ {Tenant: "cgrates.org", ID: "rankingProfilesID"}: {}, }, - dm: NewDataManager(NewInternalDB(nil, nil, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), connMgr), + dm: NewDataManager(NewInternalDB(nil, nil, false, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), connMgr), } tpr.dm.SetLoadIDs(make(map[string]int64)) tpr.cacheConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)} @@ -1040,7 +1040,7 @@ func TestTPReaderReloadCache(t *testing.T) { func TestTPReaderLoadDestinationsFiltered(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tscache := ltcache.NewTransCache( map[string]*ltcache.CacheConfig{ utils.CacheTBLTPDestinations: { @@ -1081,7 +1081,7 @@ func TestTPReaderLoadDestinationsFiltered(t *testing.T) { func TestTPReaderLoadAll(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(nil, db, "", "local", nil, nil, false) if err != nil { t.Error(err) @@ -1149,7 +1149,7 @@ func TestTpReaderReloadScheduler(t *testing.T) { {Tenant: "cgrates.org", ID: "dispatcherHostsID"}: {}, }, - dm: NewDataManager(NewInternalDB(nil, nil, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), connMgr), + dm: NewDataManager(NewInternalDB(nil, nil, false, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), connMgr), } tpr.dm.SetLoadIDs(make(map[string]int64)) tpr.schedulerConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.SchedulerConnsCfg)} @@ -1162,7 +1162,7 @@ func TestTpReaderReloadScheduler(t *testing.T) { func TestTpReaderIsValid(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(nil, db, "", "local", nil, nil, false) if err != nil { t.Error(err) @@ -1211,7 +1211,7 @@ func TestTpReaderLoadAccountActions(t *testing.T) { Tenant: "tn2", ActionPlanId: "actionplans", }, []string{"groupId"}, true, "tId") - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) db.db = tscache tpr, err := NewTpReader(db, db, "*prf", "local", nil, nil, true) if err != nil { @@ -1228,7 +1228,7 @@ func TestTpReaderLoadAccountActions(t *testing.T) { } func TestTPCSVImporterChargerProfiles(t *testing.T) { - db := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + db := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ utils.CacheTBLTPChargers: { Limit: 2, }, @@ -1257,7 +1257,7 @@ func TestTPCSVImporterChargerProfiles(t *testing.T) { func TestTPCSVImporterDispatcherProfiles(t *testing.T) { - db := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + db := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ utils.CacheTBLTPDispatchers: { Limit: 3, }, @@ -1286,7 +1286,7 @@ func TestTPCSVImporterDispatcherProfiles(t *testing.T) { } func TestTPCSVImporterDispatcherHosts(t *testing.T) { - db := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + db := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ utils.CacheTBLTPDispatcherHosts: { Limit: 3, }, @@ -1315,7 +1315,7 @@ func TestTPCSVImporterDispatcherHosts(t *testing.T) { } func TestTPCSVImporterErrs(t *testing.T) { - db := NewInternalDB(nil, nil, true, map[string]*config.ItemOpt{ + db := NewInternalDB(nil, nil, true, false, map[string]*config.ItemOpt{ utils.CacheTBLTPDispatcherHosts: { Limit: 3, }, @@ -1412,7 +1412,7 @@ func TestTpReaderLoadTimingsErr(t *testing.T) { TPid: "TpId3", ID: duplicateId, }, []string{"groupId"}, true, "tId") - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) db.db = tscache tpr, err := NewTpReader(db, db, "*prf", "local", nil, nil, true) if err != nil { @@ -1447,7 +1447,7 @@ func TestLoadDestinationRatesErr(t *testing.T) { TPid: "TpId3", ID: duplicateId, }, []string{"groupId"}, true, "tId") - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) db.db = tscache tpr, err := NewTpReader(db, db, "*prf", "local", nil, nil, true) if err != nil { @@ -1502,7 +1502,7 @@ func TestTpReaderLoadRatingPlansFilteredErr(t *testing.T) { StaticTTL: false, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "*prf", "local", nil, nil, true) if err != nil { @@ -1532,7 +1532,7 @@ func TestLoadRatingProfilesFiltered(t *testing.T) { }, }, ) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) db.db = tscache tpr, err := NewTpReader(db, db, "*prf", "local", nil, nil, true) if err != nil { @@ -1589,7 +1589,7 @@ func TestTpReaderLoadActionTriggers(t *testing.T) { }, }, ) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) db.db = tscache tpr, err := NewTpReader(db, db, "*prf", "UTC", nil, nil, true) if err != nil { @@ -1674,7 +1674,7 @@ func TestTpReaderSetDestination(t *testing.T) { }, }, ) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) db.db = tscache tpr, err := NewTpReader(db, db, "*prf", "UTC", nil, nil, true) if err != nil { @@ -1708,7 +1708,7 @@ func TestTPReaderLoadAccountActionsFilteredErr(t *testing.T) { Remote: true, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "*prf", "UTC", nil, nil, true) if err != nil { t.Error(err) @@ -1754,7 +1754,7 @@ func TestTprRemoveFromDatabase(t *testing.T) { Limit: 2, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "*prf", "UTC", nil, nil, true) if err != nil { t.Error(err) @@ -1813,7 +1813,7 @@ func TestLoadActionPlansErrs(t *testing.T) { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() Cache.Clear(nil) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "tpr", "UTC", nil, nil, true) if err != nil { t.Error(err) @@ -1861,7 +1861,7 @@ func TestLoadRatingPlansFiltered(t *testing.T) { Limit: 2, }, } - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "*prf", "UTC", nil, nil, true) if err != nil { t.Error(err) @@ -1990,7 +1990,7 @@ func TestTPRLoadRatingProfiles(t *testing.T) { defer func() { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "RP1", "", nil, nil, false) if err != nil { @@ -2053,7 +2053,7 @@ func TestTPRLoadAccountActions(t *testing.T) { defer func() { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "", "", nil, nil, false) if err != nil { @@ -2080,7 +2080,7 @@ func TestTpReaderRemoveFromDatabase(t *testing.T) { defer func() { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "", "", nil, nil, false) if err != nil { t.Error(err) @@ -2143,7 +2143,7 @@ func TestTpReaderRemoveFromDatabaseDspPrf(t *testing.T) { defer func() { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "", "", nil, nil, false) if err != nil { t.Error(err) @@ -2184,7 +2184,7 @@ func TestTpReaderRemoveFromDatabaseDspHst(t *testing.T) { defer func() { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) tpr, err := NewTpReader(db, db, "", "", nil, nil, false) if err != nil { t.Error(err) @@ -2222,8 +2222,8 @@ func TestTprLoadAccountActionFiltered(t *testing.T) { config.SetCgrConfig(config.NewDefaultCGRConfig()) SetConnManager(tmpConn) }() - dataDb := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) - storDb := NewInternalDB(nil, nil, false, cfg.StorDbCfg().Items) + dataDb := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) + storDb := NewInternalDB(nil, nil, false, false, cfg.StorDbCfg().Items) tpr, err := NewTpReader(dataDb, storDb, "TP1", "", []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCaches)}, nil, false) if err != nil { t.Error(err) @@ -2327,8 +2327,8 @@ func TestTprLoadRatingPlansFiltered(t *testing.T) { defer func() { config.SetCgrConfig(config.NewDefaultCGRConfig()) }() - dataDb := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) - storDb := NewInternalDB(nil, nil, false, cfg.StorDbCfg().Items) + dataDb := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) + storDb := NewInternalDB(nil, nil, false, false, cfg.StorDbCfg().Items) storDb.SetTPDestinations([]*utils.TPDestination{{ TPid: "TP1", diff --git a/engine/trends_test.go b/engine/trends_test.go index 8bd2524fd..ef2ad1e01 100644 --- a/engine/trends_test.go +++ b/engine/trends_test.go @@ -33,7 +33,7 @@ import ( func TestStartTrendS(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.TrendSCfg().Enabled = true - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) tS := NewTrendS(dm, nil, nil, cfg) dm.SetTrendProfile(&TrendProfile{ @@ -57,7 +57,7 @@ func TestStartTrendS(t *testing.T) { func TestStoreTrend(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, nil) + dataDB := NewInternalDB(nil, nil, true, false, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) tS := &TrendS{ @@ -131,7 +131,7 @@ func TestStoreTrend(t *testing.T) { } func TestV1GetTrendSummary(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, nil) + dataDB := NewInternalDB(nil, nil, true, false, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) tS := &TrendS{ @@ -305,7 +305,7 @@ func TestTrendsStoreTrends(t *testing.T) { cfg.TrendSCfg().Enabled = true cfg.TrendSCfg().StoreInterval = time.Millisecond * 1500 cfg.TrendSCfg().StatSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats)} - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) conn := make(chan context.ClientConnector, 1) conn <- &ccMock{ @@ -362,7 +362,7 @@ func TestTrendReload(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.TrendSCfg().Enabled = true cfg.TrendSCfg().StoreInterval = 0 - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) conn := make(chan context.ClientConnector, 1) conn <- &ccMock{ @@ -407,7 +407,7 @@ func TestV1GetTrendStoreIntervalZero(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.TrendSCfg().Enabled = true cfg.TrendSCfg().StoreInterval = 0 - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) conn := make(chan context.ClientConnector, 1) conn <- &ccMock{ @@ -516,7 +516,7 @@ func TestTrendV1GetTrend(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) trnds := NewTrendS(dm, nil, nil, cfg) dm.SetTrend(&Trend{ Tenant: "cgrates.org", diff --git a/engine/z_actions2_it_test.go b/engine/z_actions2_it_test.go index 1dfe711d4..68d5ba957 100644 --- a/engine/z_actions2_it_test.go +++ b/engine/z_actions2_it_test.go @@ -88,7 +88,7 @@ func testActionsInitCfg(t *testing.T) { func testActionsInitCdrsStore(t *testing.T) { switch *utils.DBType { case utils.MetaInternal: - actsCdrStore = NewInternalDB(nil, nil, true, actsCfg.DataDbCfg().Items) + actsCdrStore = NewInternalDB(nil, nil, true, false, 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 dd9b498ae..fe7cb39ff 100644 --- a/engine/z_attributes_test.go +++ b/engine/z_attributes_test.go @@ -158,7 +158,7 @@ func TestAttributePopulateAttrService(t *testing.T) { cfg.AttributeSCfg().Opts.ProcessRuns = 1 cfg.AttributeSCfg().StringIndexedFields = nil cfg.AttributeSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) Cache.Clear(nil) @@ -1763,7 +1763,7 @@ func TestAttributeProcessEventValueExponent(t *testing.T) { func BenchmarkAttributeProcessEventConstant(b *testing.B) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) //refresh the DM @@ -1821,7 +1821,7 @@ func BenchmarkAttributeProcessEventConstant(b *testing.B) { func BenchmarkAttributeProcessEventVariable(b *testing.B) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -1910,7 +1910,7 @@ func TestGetAttributeProfileFromInline(t *testing.T) { func TestProcessAttributeConstant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) attrPrf := &AttributeProfile{ @@ -1967,7 +1967,7 @@ func TestProcessAttributeConstant(t *testing.T) { func TestProcessAttributeVariable(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2027,7 +2027,7 @@ func TestProcessAttributeVariable(t *testing.T) { func TestProcessAttributeComposed(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2093,7 +2093,7 @@ func TestProcessAttributeComposed(t *testing.T) { func TestProcessAttributeUsageDifference(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2154,7 +2154,7 @@ func TestProcessAttributeUsageDifference(t *testing.T) { func TestProcessAttributeSum(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2215,7 +2215,7 @@ func TestProcessAttributeSum(t *testing.T) { func TestProcessAttributeDiff(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2276,7 +2276,7 @@ func TestProcessAttributeDiff(t *testing.T) { func TestProcessAttributeMultiply(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2337,7 +2337,7 @@ func TestProcessAttributeMultiply(t *testing.T) { func TestProcessAttributeDivide(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2398,7 +2398,7 @@ func TestProcessAttributeDivide(t *testing.T) { func TestProcessAttributeValueExponent(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2459,7 +2459,7 @@ func TestProcessAttributeValueExponent(t *testing.T) { func TestProcessAttributeUnixTimeStamp(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2520,7 +2520,7 @@ func TestProcessAttributeUnixTimeStamp(t *testing.T) { func TestProcessAttributePrefix(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2580,7 +2580,7 @@ func TestProcessAttributePrefix(t *testing.T) { func TestProcessAttributeSuffix(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2660,7 +2660,7 @@ func TestProcessAttributeHTTP(t *testing.T) { defer ts.Close() cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2742,7 +2742,7 @@ func TestAttributeIndexSelectsFalse(t *testing.T) { cfg.AttributeSCfg().StringIndexedFields = nil cfg.AttributeSCfg().PrefixIndexedFields = nil cfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2798,7 +2798,7 @@ func TestAttributeIndexSelectsFalse(t *testing.T) { func TestProcessAttributeWithSameWeight(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Opts.ProcessRuns = 1 - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2872,7 +2872,7 @@ func TestProcessAttributeWithSameWeight(t *testing.T) { func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -2969,7 +2969,7 @@ func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().IndexedSelects = false - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmAtr = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dmAtr, &FilterS{dm: dmAtr, cfg: cfg}, cfg) @@ -3066,7 +3066,7 @@ func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { func TestAttributeMetaTenant(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().IndexedSelects = false - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) Cache.Clear(nil) attrS = NewAttributeService(dm, &FilterS{dm: dm, cfg: cfg}, cfg) attr1 := &AttributeProfile{ @@ -3121,7 +3121,7 @@ func TestAttributesPorcessEventMatchingProcessRuns(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.AttributeSCfg().Enabled = true cfg.AttributeSCfg().IndexedSelects = false - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) fltrS := NewFilterS(cfg, nil, dm) fltr := &Filter{ @@ -3225,7 +3225,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.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, 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 5fe9c9bfb..6fa4de24c 100644 --- a/engine/z_chargers_test.go +++ b/engine/z_chargers_test.go @@ -232,7 +232,7 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) cP := &ChargerProfile{ Tenant: "cgrates.org", @@ -321,7 +321,7 @@ func TestChargersprocessEventCallErr(t *testing.T) { cfg.ChargerSCfg().IndexedSelects = false cfg.ChargerSCfg().AttributeSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) cP := &ChargerProfile{ Tenant: "cgrates.org", @@ -400,7 +400,7 @@ func TestChargersprocessEventCallErr(t *testing.T) { func TestChargersV1ProcessEventErrNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) cfg.ChargerSCfg().IndexedSelects = false cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} @@ -471,7 +471,7 @@ func TestChargersV1ProcessEventErrNotFound(t *testing.T) { func TestChargersV1ProcessEventErrOther(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) cfg.ChargerSCfg().IndexedSelects = false cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} @@ -548,7 +548,7 @@ func TestChargersV1ProcessEventErrOther(t *testing.T) { func TestChargersV1ProcessEvent(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) cfg.ChargerSCfg().IndexedSelects = false cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} @@ -636,7 +636,7 @@ func TestChargersV1ProcessEvent(t *testing.T) { func TestChargersV1GetChargersForEventNilErr(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dataDB := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dataDB := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) cfg.ChargerSCfg().IndexedSelects = false cfg.ChargerSCfg().AttributeSConns = []string{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes)} diff --git a/engine/z_filterhelpers_test.go b/engine/z_filterhelpers_test.go index c5cf4533f..ac91952d1 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, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, 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, config.CgrConfig().DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, 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 2aec72b3d..40087bbf5 100644 --- a/engine/z_filterindexer_it_test.go +++ b/engine/z_filterindexer_it_test.go @@ -93,7 +93,7 @@ func TestFilterIndexerIT(t *testing.T) { cfg := config.NewDefaultCGRConfig() switch *utils.DBType { case utils.MetaInternal: - dataManager = NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + dataManager = NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) case utils.MetaMySQL: redisDB, err := NewRedisStorage( diff --git a/engine/z_filterindexer_test.go b/engine/z_filterindexer_test.go index ed8d864d4..db1b0cde9 100644 --- a/engine/z_filterindexer_test.go +++ b/engine/z_filterindexer_test.go @@ -29,7 +29,7 @@ import ( func TestFilterIndexesCheckingDynamicPathToNotIndex(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) //set 4 attr profiles with different filters to index them @@ -138,7 +138,7 @@ func TestFilterIndexesCheckingDynamicPathToNotIndex(t *testing.T) { func TestFilterIndexesCheckingDynamicPathToNotIndexAsm(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // set 1 charger profile with different *asm filter to index @@ -175,7 +175,7 @@ func TestFilterIndexesCheckingDynamicPathToNotIndexAsm(t *testing.T) { func TestFilterIndexesCheckingDynamicPathToNotIndexLibphNmbr(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, 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 27c5eb94d..09f8d809d 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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetAttributeProfile(&AttributeProfile{ @@ -324,9 +324,9 @@ func TestHealthFilterAttributes(t *testing.T) { } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(-1, 0, false, nil), - ltcache.NewCache(-1, 0, false, nil), - ltcache.NewCache(-1, 0, false, nil), + ltcache.NewCache(-1, 0, false, true, nil), + ltcache.NewCache(-1, 0, false, true, nil), + ltcache.NewCache(-1, 0, false, true, nil), utils.CacheAttributeFilterIndexes); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) if err := dm.SetAttributeProfile(&AttributeProfile{ @@ -375,11 +375,11 @@ func TestHealthReverseFilter(t *testing.T) { objCaches := make(map[string]*ltcache.Cache) for indxType := range utils.CacheIndexesToPrefix { - objCaches[indxType] = ltcache.NewCache(-1, 0, false, nil) + objCaches[indxType] = ltcache.NewCache(-1, 0, false, true, nil) } if rply, err := GetRevFltrIdxHealth(dm, - ltcache.NewCache(-1, 0, false, nil), - ltcache.NewCache(-1, 0, false, nil), + ltcache.NewCache(-1, 0, false, true, nil), + ltcache.NewCache(-1, 0, false, true, nil), objCaches); err != nil { t.Fatal(err) } else { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this threshold but without indexing @@ -421,9 +421,9 @@ func TestHealthIndexThreshold(t *testing.T) { MissingObjects: []string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheThresholdFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -455,9 +455,9 @@ func TestHealthIndexThreshold(t *testing.T) { MissingFilters: map[string][]string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheThresholdFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -491,9 +491,9 @@ func TestHealthIndexThreshold(t *testing.T) { }, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheThresholdFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this charger but without indexing @@ -535,9 +535,9 @@ func TestHealthIndexCharger(t *testing.T) { MissingObjects: []string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheChargerFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -570,9 +570,9 @@ func TestHealthIndexCharger(t *testing.T) { MissingFilters: map[string][]string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheChargerFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -610,9 +610,9 @@ func TestHealthIndexCharger(t *testing.T) { }, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheChargerFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this resource but without indexing @@ -658,9 +658,9 @@ func TestHealthIndexResources(t *testing.T) { MissingObjects: []string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheResourceFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -693,9 +693,9 @@ func TestHealthIndexResources(t *testing.T) { MissingFilters: map[string][]string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheResourceFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -737,9 +737,9 @@ func TestHealthIndexResources(t *testing.T) { }, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheResourceFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this statQueue but without indexing @@ -796,9 +796,9 @@ func TestHealthIndexStats(t *testing.T) { MissingObjects: []string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheStatFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -831,9 +831,9 @@ func TestHealthIndexStats(t *testing.T) { MissingFilters: map[string][]string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheStatFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -886,9 +886,9 @@ func TestHealthIndexStats(t *testing.T) { }, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheStatFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this routes but without indexing @@ -945,9 +945,9 @@ func TestHealthIndexRoutes(t *testing.T) { MissingObjects: []string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheRouteFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -994,9 +994,9 @@ func TestHealthIndexRoutes(t *testing.T) { MissingFilters: map[string][]string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheRouteFilterIndexes); err != nil { t.Error(err) } else { @@ -1059,9 +1059,9 @@ func TestHealthIndexRoutes(t *testing.T) { }, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheRouteFilterIndexes); err != nil { t.Error(err) } else { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this dispatcherProfile but without indexing @@ -1118,9 +1118,9 @@ func TestHealthIndexDispatchers(t *testing.T) { } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheDispatcherFilterIndexes); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -1170,9 +1170,9 @@ func TestHealthIndexDispatchers(t *testing.T) { } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheDispatcherFilterIndexes); err != nil { t.Error(err) } else { @@ -1231,9 +1231,9 @@ func TestHealthIndexDispatchers(t *testing.T) { }, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheDispatcherFilterIndexes); err != nil { t.Error(err) } else { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this multiple chargers but without indexing(same and different indexes) @@ -1317,9 +1317,9 @@ func TestIndexHealthMultipleProfiles(t *testing.T) { MissingObjects: []string{}, } if rply, err := GetFltrIdxHealth(dm, - ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, nil), - ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, nil), - ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, nil), + ltcache.NewCache(args.FilterCacheLimit, args.FilterCacheTTL, args.FilterCacheStaticTTL, false, nil), + ltcache.NewCache(args.IndexCacheLimit, args.IndexCacheTTL, args.IndexCacheStaticTTL, false, nil), + ltcache.NewCache(args.ObjectCacheLimit, args.ObjectCacheTTL, args.ObjectCacheStaticTTL, false, nil), utils.CacheChargerFilterIndexes); err != nil { t.Error(err) } else { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) // we will set this multiple chargers but without indexing(same and different indexes) @@ -1360,7 +1360,7 @@ func TestIndexHealthReverseChecking(t *testing.T) { // get cachePrefix for every subsystem objCaches := make(map[string]*ltcache.Cache) for indxType := range utils.CacheIndexesToPrefix { - objCaches[indxType] = ltcache.NewCache(-1, 0, false, nil) + objCaches[indxType] = ltcache.NewCache(-1, 0, false, true, nil) } // reverse indexes for charger @@ -1375,8 +1375,8 @@ func TestIndexHealthReverseChecking(t *testing.T) { }, } if rply, err := GetRevFltrIdxHealth(dm, - ltcache.NewCache(-1, 0, false, nil), - ltcache.NewCache(-1, 0, false, nil), + ltcache.NewCache(-1, 0, false, true, nil), + ltcache.NewCache(-1, 0, false, true, nil), objCaches); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { @@ -1409,8 +1409,8 @@ func TestIndexHealthReverseChecking(t *testing.T) { }, } if rply, err := GetRevFltrIdxHealth(dm, - ltcache.NewCache(-1, 0, false, nil), - ltcache.NewCache(-1, 0, false, nil), + ltcache.NewCache(-1, 0, false, true, nil), + ltcache.NewCache(-1, 0, false, true, nil), objCaches); err != nil { t.Fatal(err) } else { @@ -1449,8 +1449,8 @@ func TestIndexHealthReverseChecking(t *testing.T) { }, } if rply, err := GetRevFltrIdxHealth(dm, - ltcache.NewCache(-1, 0, false, nil), - ltcache.NewCache(-1, 0, false, nil), + ltcache.NewCache(-1, 0, false, true, nil), + ltcache.NewCache(-1, 0, false, true, nil), objCaches); err != nil { t.Fatal(err) } else { @@ -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, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), nil) filter1 := &Filter{ @@ -1529,7 +1529,7 @@ func TestIndexHealthMissingReverseIndexes(t *testing.T) { // get cachePrefix for every subsystem objCaches := make(map[string]*ltcache.Cache) for indxType := range utils.CacheIndexesToPrefix { - objCaches[indxType] = ltcache.NewCache(-1, 0, false, nil) + objCaches[indxType] = ltcache.NewCache(-1, 0, false, true, nil) } exp := map[string]*ReverseFilterIHReply{ @@ -1542,8 +1542,8 @@ func TestIndexHealthMissingReverseIndexes(t *testing.T) { }, } if rply, err := GetRevFltrIdxHealth(dm, - ltcache.NewCache(-1, 0, false, nil), - ltcache.NewCache(-1, 0, false, nil), + ltcache.NewCache(-1, 0, false, true, nil), + ltcache.NewCache(-1, 0, false, true, nil), objCaches); err != nil { t.Fatal(err) } else { @@ -1565,7 +1565,7 @@ func TestIndexHealthMissingReverseIndexes(t *testing.T) { // initialized cachePrefix for every subsystem again for a new case objCaches = make(map[string]*ltcache.Cache) for indxType := range utils.CacheIndexesToPrefix { - objCaches[indxType] = ltcache.NewCache(-1, 0, false, nil) + objCaches[indxType] = ltcache.NewCache(-1, 0, false, true, nil) } chPrf1 = &ChargerProfile{ Tenant: "cgrates.org", @@ -1594,8 +1594,8 @@ func TestIndexHealthMissingReverseIndexes(t *testing.T) { }, } if rply, err := GetRevFltrIdxHealth(dm, - ltcache.NewCache(-1, 0, false, nil), - ltcache.NewCache(-1, 0, false, nil), + ltcache.NewCache(-1, 0, false, true, nil), + ltcache.NewCache(-1, 0, false, true, nil), objCaches); err != nil { t.Fatal(err) } else { @@ -1629,8 +1629,8 @@ func TestIndexHealthMissingReverseIndexes(t *testing.T) { }, } if rply, err := GetRevFltrIdxHealth(dm, - ltcache.NewCache(-1, 0, false, nil), - ltcache.NewCache(-1, 0, false, nil), + ltcache.NewCache(-1, 0, false, true, nil), + ltcache.NewCache(-1, 0, false, true, nil), objCaches); err != nil { t.Fatal(err) } else { diff --git a/engine/z_onstor_it_test.go b/engine/z_onstor_it_test.go index 8195b6a86..a8b2f1dfd 100644 --- a/engine/z_onstor_it_test.go +++ b/engine/z_onstor_it_test.go @@ -88,7 +88,7 @@ func TestOnStorIT(t *testing.T) { cfg := config.NewDefaultCGRConfig() switch *utils.DBType { case utils.MetaInternal: - onStor = NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), + onStor = NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) case utils.MetaMySQL: rdsITdb, err = NewRedisStorage( diff --git a/engine/z_resources_test.go b/engine/z_resources_test.go index e1167d348..7cfaf7472 100644 --- a/engine/z_resources_test.go +++ b/engine/z_resources_test.go @@ -919,7 +919,7 @@ func TestRSCacheSetGet(t *testing.T) { func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) { var dmRES *DataManager cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -957,7 +957,7 @@ func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) { func TestResourceAddResourceProfile(t *testing.T) { var dmRES *DataManager cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -1112,7 +1112,7 @@ func TestResourceAddResourceProfile(t *testing.T) { func TestResourceMatchingResourcesForEvent(t *testing.T) { var dmRES *DataManager cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -1378,7 +1378,7 @@ func TestResourceUsageTTLCase1(t *testing.T) { cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil cfg.ResourceSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES := NewDataManager(data, config.CgrConfig().CacheCfg(), nil) resService := NewResourceService(dmRES, cfg, &FilterS{dm: dmRES, cfg: cfg}, nil) @@ -1541,7 +1541,7 @@ func TestResourceUsageTTLCase2(t *testing.T) { var dmRES *DataManager cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -1680,7 +1680,7 @@ func TestResourceUsageTTLCase3(t *testing.T) { cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil cfg.ResourceSCfg().PrefixIndexedFields = nil - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) resService := NewResourceService(dmRES, cfg, &FilterS{dm: dmRES, cfg: cfg}, nil) @@ -1773,7 +1773,7 @@ func TestResourceUsageTTLCase4(t *testing.T) { var dmRES *DataManager cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -1913,7 +1913,7 @@ func TestResourceResIDsMp(t *testing.T) { func TestResourceMatchWithIndexFalse(t *testing.T) { var dmRES *DataManager cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES = NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -2147,7 +2147,7 @@ func TestResourceCaching(t *testing.T) { // start fresh with new dataManager cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -2627,7 +2627,7 @@ func TestResourceAllocateResourceOtherDB(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, 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 { @@ -2779,7 +2779,7 @@ func TestResourcesStoreResourceNotDirty(t *testing.T) { func TestResourcesStoreResourceOK(t *testing.T) { cfg := config.NewDefaultCGRConfig() rS := &ResourceService{ - dm: NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil), + dm: NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil), } r := &Resource{ dirty: utils.BoolPointer(true), @@ -2818,7 +2818,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.DataDbCfg().Items), cfg.CacheCfg(), NewConnManager(cfg, make(map[string]chan birpc.ClientConnector))) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), NewConnManager(cfg, make(map[string]chan birpc.ClientConnector))) rS := NewResourceService(dm, cfg, nil, nil) Cache = NewCacheS(cfg, dm, nil) r := &Resource{ @@ -3040,7 +3040,7 @@ func TestResourcesProcessThresholdsThdConnMetaNone(t *testing.T) { func TestResourcesUpdateResource(t *testing.T) { cfg := config.NewDefaultCGRConfig() - dm := NewDataManager(NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) + dm := NewDataManager(NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), nil) Cache.Clear(nil) res := &ResourceProfile{ Tenant: "cgrates.org", @@ -3165,7 +3165,7 @@ func TestResourcesUpdateResource(t *testing.T) { func TestResourcesV1ResourcesForEventOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) rsPrf := &ResourceProfile{ @@ -3246,7 +3246,7 @@ func TestResourcesV1ResourcesForEventOK(t *testing.T) { func TestResourcesV1ResourcesForEventNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) rsPrf := &ResourceProfile{ Tenant: "cgrates.org", @@ -3302,7 +3302,7 @@ func TestResourcesV1ResourcesForEventNotFound(t *testing.T) { func TestResourcesV1ResourcesForEventMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) rsPrf := &ResourceProfile{ Tenant: "cgrates.org", @@ -3397,7 +3397,7 @@ func TestResourcesV1ResourcesForEventCacheReplyExists(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1GetResourcesForEvent, @@ -3492,7 +3492,7 @@ func TestResourcesV1ResourcesForEventCacheReplySet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1GetResourcesForEvent, @@ -3584,7 +3584,7 @@ func TestResourcesV1ResourcesForEventCacheReplySet(t *testing.T) { func TestResourcesV1GetResourceOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -3656,7 +3656,7 @@ func TestResourcesV1GetResourceOK(t *testing.T) { func TestResourcesV1GetResourceNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -3710,7 +3710,7 @@ func TestResourcesV1GetResourceNotFound(t *testing.T) { func TestResourcesV1GetResourceMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -3763,7 +3763,7 @@ func TestResourcesV1GetResourceMissingParameters(t *testing.T) { func TestResourcesV1GetResourceWithConfigOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -3838,7 +3838,7 @@ func TestResourcesV1GetResourceWithConfigOK(t *testing.T) { func TestResourcesV1GetResourceWithConfigNilrPrfOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -3916,7 +3916,7 @@ func TestResourcesV1GetResourceWithConfigNilrPrfOK(t *testing.T) { func TestResourcesV1GetResourceWithConfigNilrPrfProfileNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -3972,7 +3972,7 @@ func TestResourcesV1GetResourceWithConfigNilrPrfProfileNotFound(t *testing.T) { func TestResourcesV1GetResourceWithConfigResourceNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4024,7 +4024,7 @@ func TestResourcesV1GetResourceWithConfigResourceNotFound(t *testing.T) { func TestResourcesV1GetResourceWithConfigMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4075,7 +4075,7 @@ func TestResourcesV1GetResourceWithConfigMissingParameters(t *testing.T) { func TestResourcesV1AuthorizeResourcesOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4121,7 +4121,7 @@ func TestResourcesV1AuthorizeResourcesOK(t *testing.T) { func TestResourcesV1AuthorizeResourcesNotAuthorized(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4167,7 +4167,7 @@ func TestResourcesV1AuthorizeResourcesNotAuthorized(t *testing.T) { func TestResourcesV1AuthorizeResourcesNoMatch(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4213,7 +4213,7 @@ func TestResourcesV1AuthorizeResourcesNoMatch(t *testing.T) { func TestResourcesV1AuthorizeResourcesNilCGREvent(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4251,7 +4251,7 @@ func TestResourcesV1AuthorizeResourcesNilCGREvent(t *testing.T) { func TestResourcesV1AuthorizeResourcesMissingUsageID(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4303,7 +4303,7 @@ func TestResourcesV1AuthorizeResourcesCacheReplyExists(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1AuthorizeResources, @@ -4384,7 +4384,7 @@ func TestResourcesV1AuthorizeResourcesCacheReplySet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1AuthorizeResources, @@ -4462,7 +4462,7 @@ func TestResourcesV1AuthorizeResourcesCacheReplySet(t *testing.T) { func TestResourcesV1AllocateResourcesOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4508,7 +4508,7 @@ func TestResourcesV1AllocateResourcesOK(t *testing.T) { func TestResourcesV1AllocateResourcesNoMatch(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4553,7 +4553,7 @@ func TestResourcesV1AllocateResourcesNoMatch(t *testing.T) { func TestResourcesV1AllocateResourcesMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4637,7 +4637,7 @@ func TestResourcesV1AllocateResourcesCacheReplyExists(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1AllocateResources, @@ -4718,7 +4718,7 @@ func TestResourcesV1AllocateResourcesCacheReplySet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1AllocateResources, @@ -4796,7 +4796,7 @@ func TestResourcesV1AllocateResourcesCacheReplySet(t *testing.T) { func TestResourcesV1AllocateResourcesResAllocErr(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4842,7 +4842,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, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) rsPrf := &ResourceProfile{ @@ -4919,7 +4919,7 @@ func TestResourcesV1AllocateResourcesProcessThErr(t *testing.T) { func TestResourcesV1ReleaseResourcesOK(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -4970,7 +4970,7 @@ func TestResourcesV1ReleaseResourcesOK(t *testing.T) { func TestResourcesV1ReleaseResourcesUsageNotFound(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -5033,7 +5033,7 @@ func TestResourcesV1ReleaseResourcesUsageNotFound(t *testing.T) { func TestResourcesV1ReleaseResourcesNoMatch(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -5078,7 +5078,7 @@ func TestResourcesV1ReleaseResourcesNoMatch(t *testing.T) { func TestResourcesV1ReleaseResourcesMissingParameters(t *testing.T) { Cache.Clear(nil) cfg := config.NewDefaultCGRConfig() - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache.Clear(nil) @@ -5162,7 +5162,7 @@ func TestResourcesV1ReleaseResourcesCacheReplyExists(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1ReleaseResources, @@ -5243,7 +5243,7 @@ func TestResourcesV1ReleaseResourcesCacheReplySet(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 config.SetCgrConfig(cfg) - data := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil) cacheKey := utils.ConcatenatedKey(utils.ResourceSv1ReleaseResources, @@ -5323,7 +5323,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, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) ccM := &ccMock{ calls: map[string]func(ctx *context.Context, args any, reply any) error{ @@ -5418,7 +5418,7 @@ func TestResourcesStoreResourceError(t *testing.T) { config.SetCgrConfig(cfg) defer config.SetCgrConfig(dft) - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, cfg.CacheCfg(), NewConnManager(cfg, make(map[string]chan birpc.ClientConnector))) rS := NewResourceService(dm, cfg, NewFilterS(cfg, nil, dm), nil) @@ -5472,7 +5472,7 @@ func TestResourcesStoreResourceError(t *testing.T) { func TestResourceMatchingResourcesForEventNotFoundInCache(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -5490,7 +5490,7 @@ func TestResourceMatchingResourcesForEventNotFoundInCache(t *testing.T) { func TestResourceMatchingResourcesForEventNotFoundInDB(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dmRES := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -5508,7 +5508,7 @@ func TestResourceMatchingResourcesForEventNotFoundInDB(t *testing.T) { func TestResourceMatchingResourcesForEventLocks(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -5557,7 +5557,7 @@ func TestResourceMatchingResourcesForEventLocks(t *testing.T) { func TestResourceMatchingResourcesForEventLocks2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -5621,7 +5621,7 @@ func TestResourceMatchingResourcesForEventLocks2(t *testing.T) { func TestResourceMatchingResourcesForEventLocksBlocker(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -5680,7 +5680,7 @@ func TestResourceMatchingResourcesForEventLocksBlocker(t *testing.T) { func TestResourceMatchingResourcesForEventLocksActivationInterval(t *testing.T) { cfg := config.NewDefaultCGRConfig() - db := NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(db, config.CgrConfig().CacheCfg(), nil) cfg.ResourceSCfg().StoreInterval = 1 cfg.ResourceSCfg().StringIndexedFields = nil @@ -5933,7 +5933,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, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) tnt := "cgrates.org" resID := "Res1" @@ -6027,7 +6027,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, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan birpc.ClientConnector)) Cache = NewCacheS(cfg, dm, nil) @@ -6067,7 +6067,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, cfg.DataDbCfg().Items) + data := NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := NewDataManager(data, cfg.CacheCfg(), nil) connMgr = NewConnManager(cfg, make(map[string]chan birpc.ClientConnector)) Cache = NewCacheS(cfg, dm, nil) diff --git a/engine/z_stordb_it_test.go b/engine/z_stordb_it_test.go index f3f2e0acf..ec6f121dd 100644 --- a/engine/z_stordb_it_test.go +++ b/engine/z_stordb_it_test.go @@ -78,7 +78,7 @@ func TestStorDBit(t *testing.T) { case utils.MetaInternal: storDBCfg = config.NewDefaultCGRConfig() config.SetCgrConfig(storDBCfg) - storDB = NewInternalDB(nil, nil, false, storDBCfg.DataDbCfg().Items) + storDB = NewInternalDB(nil, nil, false, false, storDBCfg.DataDbCfg().Items) case utils.MetaMySQL: if storDBCfg, err = config.NewCGRConfigFromPath(path.Join(*utils.DataDir, "conf", "samples", "storage", "mysql")); err != nil { t.Fatal(err) diff --git a/ers/amqpv1_test.go b/ers/amqpv1_test.go index 45f8278d8..c6cb809c3 100644 --- a/ers/amqpv1_test.go +++ b/ers/amqpv1_test.go @@ -96,7 +96,7 @@ func TestAMQPv1ERProcessMessageError1(t *testing.T) { func TestAMQPv1ERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 59bffc40c..31ce07f81 100644 --- a/ers/ers_it_test.go +++ b/ers/ers_it_test.go @@ -772,7 +772,7 @@ func TestErsOnEvictedMetaDumpToFileOK(t *testing.T) { field.ComputePath() } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -834,7 +834,7 @@ func TestErsOnEvictedMetaDumpToFileCSVWriteErr(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -890,7 +890,7 @@ func TestErsOnEvictedMetaDumpToFileCreateErr(t *testing.T) { }, } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -951,7 +951,7 @@ func TestERsOnEvictedDumpToJSON(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -1035,7 +1035,7 @@ func TestErsOnEvictedDumpToJSONNoPath(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -1112,7 +1112,7 @@ func TestErsOnEvictedDumpToJSONMergeError(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -1192,7 +1192,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFieldsErrPrefix(t *testing.T) { value.rdrCfg.CacheDumpFields[0].ComputePath() cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -1267,7 +1267,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFields(t *testing.T) { value.rdrCfg.CacheDumpFields[0].ComputePath() cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -1352,7 +1352,7 @@ func TestErsOnEvictedDumpToJSONInvalidPath(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrS := engine.NewFilterS(cfg, nil, dm) erS := &ERService{ @@ -1422,7 +1422,7 @@ func TestErsOnEvictedDumpToJSONEncodeErr(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 b717c045f..143db2735 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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 22cd683c6..185f02f01 100644 --- a/ers/filecsv_it_test.go +++ b/ers/filecsv_it_test.go @@ -590,7 +590,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 02ca2f78f..d51599830 100644 --- a/ers/filefwv_it_test.go +++ b/ers/filefwv_it_test.go @@ -443,7 +443,7 @@ func TestFileFWVExit(t *testing.T) { func TestFileFWVProcessTrailer(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cfg.ERsCfg().Readers[0].ProcessedPath = "" fltrs := engine.NewFilterS(cfg, nil, dm) @@ -501,7 +501,7 @@ func TestFileFWVProcessTrailer(t *testing.T) { func TestFileFWVProcessTrailerError1(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) cfg.ERsCfg().Readers[0].ProcessedPath = "" fltrs := engine.NewFilterS(cfg, nil, dm) @@ -536,7 +536,7 @@ func TestFileFWVProcessTrailerError1(t *testing.T) { func TestFileFWVProcessTrailerError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) eR := &FWVFileER{ @@ -581,7 +581,7 @@ func TestFileFWVProcessTrailerError2(t *testing.T) { func TestFileFWVProcessTrailerError3(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) eR := &FWVFileER{ @@ -610,7 +610,7 @@ func TestFileFWVProcessTrailerError3(t *testing.T) { func TestFileFWVCreateHeaderMap(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) fltrs := engine.NewFilterS(cfg, nil, dm) eR := &FWVFileER{ @@ -681,7 +681,7 @@ func TestFileFWVCreateHeaderMapError1(t *testing.T) { func TestFileFWVCreateHeaderMapError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 38ab58b58..843d630b3 100644 --- a/ers/filejson_it_test.go +++ b/ers/filejson_it_test.go @@ -470,7 +470,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 a7ecddef1..f4a33efc6 100644 --- a/ers/filexml_it_test.go +++ b/ers/filexml_it_test.go @@ -472,7 +472,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 421c1a4f1..233eaacbb 100644 --- a/ers/kafka_test.go +++ b/ers/kafka_test.go @@ -221,7 +221,7 @@ func TestKafkaERProcessMessageError1(t *testing.T) { func TestKafkaERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 fa0bc5acc..0425150b6 100644 --- a/ers/nats_test.go +++ b/ers/nats_test.go @@ -114,7 +114,7 @@ func TestNatsERProcessMessageError1(t *testing.T) { func TestNatsERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 5e36bcdd2..de7c0e0ea 100644 --- a/ers/s3_test.go +++ b/ers/s3_test.go @@ -144,7 +144,7 @@ func TestS3ERProcessMessageError1(t *testing.T) { func TestS3ERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 dd309f3b5..7f7025c59 100644 --- a/ers/sqs_test.go +++ b/ers/sqs_test.go @@ -194,7 +194,7 @@ func TestSQSERProcessMessageError1(t *testing.T) { func TestSQSERProcessMessageError2(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 ed03156f7..352136fee 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, config.CgrConfig().DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, 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 0419a14cb..53fbaa04e 100644 --- a/general_tests/auth_test.go +++ b/general_tests/auth_test.go @@ -32,7 +32,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, config.CgrConfig().DataDbCfg().Items) + dataDB := engine.NewInternalDB(nil, nil, true, false, 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 40b7f190e..89f08ad3f 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, config.CgrConfig().DataDbCfg().Items) + dataDBInt := engine.NewInternalDB(nil, nil, true, false, 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 ac939e6ac..9443476d9 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, config.CgrConfig().DataDbCfg().Items) + dataDBInt := engine.NewInternalDB(nil, nil, true, false, 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 9070b26ee..e3880a7a8 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, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 335e853fc..4cbae99de 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, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 fbbc4fa78..235f1cf39 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, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dataDB3 = engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) engine.SetDataStorage(dataDB3) engine.Cache.Clear(nil) diff --git a/general_tests/ers_sql_filters_it_test.go b/general_tests/ers_sql_filters_it_test.go index a365a5150..0b32dacd3 100644 --- a/general_tests/ers_sql_filters_it_test.go +++ b/general_tests/ers_sql_filters_it_test.go @@ -257,7 +257,7 @@ func TestERSSQLFilters(t *testing.T) { var dbcfg engine.DBCfg switch *utils.DBType { case utils.MetaInternal: - t.SkipNow() + dbcfg = engine.InternalDBCfg case utils.MetaMySQL: case utils.MetaMongo: dbcfg = engine.MongoDBCfg @@ -418,7 +418,7 @@ func TestERSSQLFiltersDeleteIndexedFields(t *testing.T) { var dbcfg engine.DBCfg switch *utils.DBType { case utils.MetaInternal: - t.SkipNow() + dbcfg = engine.InternalDBCfg case utils.MetaMySQL: case utils.MetaMongo: dbcfg = engine.MongoDBCfg @@ -589,7 +589,7 @@ func TestERSSQLFiltersWithMetaDelete(t *testing.T) { var dbcfg engine.DBCfg switch *utils.DBType { case utils.MetaInternal: - t.SkipNow() + dbcfg = engine.InternalDBCfg case utils.MetaMySQL: case utils.MetaMongo: dbcfg = engine.MongoDBCfg @@ -790,7 +790,7 @@ func TestERSSQLFiltersMove(t *testing.T) { var dbcfg engine.DBCfg switch *utils.DBType { case utils.MetaInternal: - t.SkipNow() + dbcfg = engine.InternalDBCfg case utils.MetaMySQL: case utils.MetaMongo: dbcfg = engine.MongoDBCfg @@ -987,7 +987,7 @@ func TestERSSQLFiltersUpdate(t *testing.T) { var dbcfg engine.DBCfg switch *utils.DBType { case utils.MetaInternal: - t.SkipNow() + dbcfg = engine.InternalDBCfg case utils.MetaMySQL: case utils.MetaMongo: dbcfg = engine.MongoDBCfg @@ -1166,7 +1166,7 @@ func TestERSSQLFiltersRawUpdate(t *testing.T) { var dbcfg engine.DBCfg switch *utils.DBType { case utils.MetaInternal: - t.SkipNow() + dbcfg = engine.InternalDBCfg case utils.MetaMySQL: case utils.MetaMongo: dbcfg = engine.MongoDBCfg diff --git a/general_tests/filters_test.go b/general_tests/filters_test.go index c8732db3a..2a6aafaa0 100644 --- a/general_tests/filters_test.go +++ b/general_tests/filters_test.go @@ -43,7 +43,7 @@ func TestFilterPassDestinations(t *testing.T) { connMgr := engine.NewConnManager(config.CgrConfig(), map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaApier): internalAPIerSv1Chan, }) - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), connMgr) srv, err := engine.NewService(&v1.APIerSv1{DataManager: dm}) if err != nil { @@ -98,7 +98,7 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaApier): internalAPIerSv1Chan, }) - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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/fs_session_offline_internal_it_test.go b/general_tests/fs_session_offline_internal_it_test.go new file mode 100644 index 000000000..6b9439c07 --- /dev/null +++ b/general_tests/fs_session_offline_internal_it_test.go @@ -0,0 +1,440 @@ +//go:build call +// +build call + +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +*/ +package general_tests + +import ( + "os" + "path" + "reflect" + "sort" + "strings" + "testing" + "time" + + "github.com/cgrates/birpc/context" + "github.com/cgrates/birpc/jsonrpc" + "github.com/cgrates/cgrates/config" + "github.com/cgrates/cgrates/engine" + "github.com/cgrates/cgrates/sessions" + "github.com/cgrates/cgrates/utils" +) + +func TestFsSessionOfflineInternal(t *testing.T) { + var cfgPath string + switch *utils.DBType { + case utils.MetaInternal: + cfgPath = path.Join(*utils.DataDir, "conf", "samples", "fs_offline_internal") + case utils.MetaMySQL: + cfgPath = path.Join(*utils.DataDir, "conf", "samples", "fs_offline_mysql") + case utils.MetaMongo, utils.MetaPostgres: + t.SkipNow() + default: + t.Fatal("Unknown Database type") + } + + var err error + tutorialCallsCfg, err = config.NewCGRConfigFromPath(cfgPath) + if err != nil { + t.Error(err) + } + if err = os.MkdirAll(tutorialCallsCfg.DataDbCfg().Opts.InternalDBDumpPath, 0700); err != nil { + t.Fatal(err) + } + if err = os.MkdirAll(tutorialCallsCfg.StorDbCfg().Opts.InternalDBDumpPath, 0700); err != nil { + t.Fatal(err) + } + + tutorialCallsCfg.DataFolderPath = *utils.DataDir // Share DataFolderPath through config towards StoreDb for Flush() + config.SetCgrConfig(tutorialCallsCfg) + if err := engine.PreInitDataDb(tutorialCallsCfg); err != nil { + t.Fatal(err) + } + if err := engine.PreInitStorDb(tutorialCallsCfg); err != nil { + t.Fatal(err) + } + engine.KillProcName(utils.Freeswitch, 5000) + if err := engine.CallScript(path.Join(*fsConfig, "freeswitch", "etc", "init.d", "freeswitch"), "start", 3000); err != nil { + t.Fatal(err) + } + if _, err := engine.StopStartEngine(cfgPath, *utils.WaitRater); err != nil { + t.Fatal(err) + } + time.Sleep(500 * time.Millisecond) + tutorialCallsRpc, err = jsonrpc.Dial(utils.TCP, tutorialCallsCfg.ListenCfg().RPCJSONListen) + if err != nil { + t.Fatal(err) + } + t.Run("LoadTPs", func(t *testing.T) { + var reply string + attrs := &utils.AttrLoadTpFromFolder{FolderPath: path.Join(*utils.DataDir, "tariffplans", "tutorial")} + if err := tutorialCallsRpc.Call(context.Background(), utils.APIerSv1LoadTariffPlanFromFolder, attrs, &reply); err != nil { + t.Error(err) + } + time.Sleep(time.Duration(*utils.WaitRater) * time.Millisecond) // Give time for scheduler to execute topups + }) + + t.Run("AccountsBefore", func(t *testing.T) { + var reply *engine.Account + attrs := &utils.AttrGetAccount{Tenant: "cgrates.org", Account: "1001"} + if err := tutorialCallsRpc.Call(context.Background(), utils.APIerSv2GetAccount, attrs, &reply); err != nil { + t.Error("Got error on APIerSv2.GetAccount: ", err.Error()) + } else if reply.BalanceMap[utils.MetaMonetary].GetTotalValue() != 10.0 { + t.Errorf("Calling APIerSv1.GetBalance received: %f", reply.BalanceMap[utils.MetaMonetary].GetTotalValue()) + } + var reply2 *engine.Account + attrs2 := &utils.AttrGetAccount{Tenant: "cgrates.org", Account: "1002"} + if err := tutorialCallsRpc.Call(context.Background(), utils.APIerSv2GetAccount, attrs2, &reply2); err != nil { + t.Error("Got error on APIerSv2.GetAccount: ", err.Error()) + } else if reply2.BalanceMap[utils.MetaMonetary].GetTotalValue() != 10.0 { + t.Errorf("Calling APIerSv1.GetBalance received: %f", reply2.BalanceMap[utils.MetaMonetary].GetTotalValue()) + } + var reply3 *engine.Account + attrs3 := &utils.AttrGetAccount{Tenant: "cgrates.org", Account: "1003"} + if err := tutorialCallsRpc.Call(context.Background(), utils.APIerSv2GetAccount, attrs3, &reply3); err != nil { + t.Error("Got error on APIerSv2.GetAccount: ", err.Error()) + } else if reply3.BalanceMap[utils.MetaMonetary].GetTotalValue() != 10.0 { + t.Errorf("Calling APIerSv1.GetBalance received: %f", reply3.BalanceMap[utils.MetaMonetary].GetTotalValue()) + } + }) + + t.Run("StatMetricsBefore", func(t *testing.T) { + var metrics map[string]string + expectedMetrics := map[string]string{ + utils.MetaTCC: utils.NotAvailable, + utils.MetaTCD: utils.NotAvailable, + } + if err := tutorialCallsRpc.Call(context.Background(), utils.StatSv1GetQueueStringMetrics, + &utils.TenantID{Tenant: "cgrates.org", ID: "Stats2"}, &metrics); err != nil { + t.Error(err) + } else if !reflect.DeepEqual(expectedMetrics, metrics) { + t.Errorf("expecting: %+v, received reply: %s", expectedMetrics, metrics) + } + if err := tutorialCallsRpc.Call(context.Background(), utils.StatSv1GetQueueStringMetrics, + &utils.TenantID{Tenant: "cgrates.org", ID: "Stats2_1"}, &metrics); err != nil { + t.Error(err) + } else if !reflect.DeepEqual(expectedMetrics, metrics) { + t.Errorf("expecting: %+v, received reply: %s", expectedMetrics, metrics) + } + }) + + t.Run("CheckResourceBeforeAllocation", func(t *testing.T) { + var rs *engine.Resources + args := &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "ResourceEvent", + Event: map[string]any{ + utils.AccountField: "1001", + utils.Subject: "1001", + utils.Destination: "1002", + }, + APIOpts: map[string]any{ + utils.OptsResourcesUsageID: "OriginID", + }, + } + if err := tutorialCallsRpc.Call(context.Background(), utils.ResourceSv1GetResourcesForEvent, args, &rs); err != nil { + t.Fatal(err) + } else if len(*rs) != 1 { + t.Fatalf("Resources: %+v", utils.ToJSON(rs)) + } + for _, r := range *rs { + if r.ID == "ResGroup1" && + (len(r.Usages) != 0 || len(r.TTLIdx) != 0) { + t.Errorf("Unexpected resource: %+v", utils.ToJSON(r)) + } + } + }) + + t.Run("CheckThresholdBefore", func(t *testing.T) { + var td engine.Threshold + eTd := engine.Threshold{Tenant: "cgrates.org", ID: "THD_ACNT_1001", Hits: 0} + if err := tutorialCallsRpc.Call(context.Background(), utils.ThresholdSv1GetThreshold, + &utils.TenantID{Tenant: "cgrates.org", ID: "THD_ACNT_1001"}, &td); err != nil { + t.Error(err) + } else if !reflect.DeepEqual(eTd, td) { + t.Errorf("expecting: %+v, received: %+v", eTd, td) + } + eTd = engine.Threshold{Tenant: "cgrates.org", ID: "THD_ACNT_1002", Hits: 0} + if err := tutorialCallsRpc.Call(context.Background(), utils.ThresholdSv1GetThreshold, + &utils.TenantID{Tenant: "cgrates.org", ID: "THD_ACNT_1002"}, &td); err != nil { + t.Error(err) + } else if !reflect.DeepEqual(eTd, td) { + t.Errorf("expecting: %+v, received: %+v", eTd, td) + } + }) + + t.Run("StartPjsuaListener", func(t *testing.T) { + var err error + acnts := []*engine.PjsuaAccount{ + {Id: "sip:1001@127.0.0.1", + Username: "1001", Password: "CGRateS.org", Realm: "*", Registrar: "sip:127.0.0.1:5080"}, + {Id: "sip:1002@127.0.0.1", + Username: "1002", Password: "CGRateS.org", Realm: "*", Registrar: "sip:127.0.0.1:5080"}, + {Id: "sip:1003@127.0.0.1", + Username: "1003", Password: "CGRateS.org", Realm: "*", Registrar: "sip:127.0.0.1:5080"}, + } + if tutorialCallsPjSuaListener, err = engine.StartPjsuaListener( + acnts, 5070, time.Duration(*utils.WaitRater)*time.Millisecond); err != nil { + t.Fatal(err) + } + time.Sleep(3 * time.Second) + }) + + t.Run("Call1001To1002", func(t *testing.T) { + if err := engine.PjsuaCallUri( + &engine.PjsuaAccount{Id: "sip:1001@127.0.0.1", Username: "1001", Password: "CGRateS.org", Realm: "*"}, + "sip:1002@127.0.0.1", "sip:127.0.0.1:5080", 67*time.Second, 5071); err != nil { + t.Fatal(err) + } + // give time to session to start so we can check it + time.Sleep(time.Second) + }) + + t.Run("GetActiveSessions", func(t *testing.T) { + var reply *[]*sessions.ExternalSession + expected := &[]*sessions.ExternalSession{ + { + RequestType: "*prepaid", + Tenant: "cgrates.org", + Category: "call", + Account: "1001", + Subject: "1001", + Destination: "1002", + }, + } + if err := tutorialCallsRpc.Call(context.Background(), utils.SessionSv1GetActiveSessions, + nil, &reply); err != nil { + t.Error("Got error on SessionSv1.GetActiveSessions: ", err.Error()) + } else { + if len(*reply) == 2 { + sort.Slice(*reply, func(i, j int) bool { + return strings.Compare((*reply)[i].RequestType, (*reply)[j].RequestType) > 0 + }) + } + // compare some fields (eg. CGRId is generated) + if !reflect.DeepEqual((*expected)[0].RequestType, (*reply)[0].RequestType) { + t.Errorf("Expected: %s, received: %s", (*expected)[0].RequestType, (*reply)[0].RequestType) + } else if !reflect.DeepEqual((*expected)[0].Account, (*reply)[0].Account) { + t.Errorf("Expected: %s, received: %s", (*expected)[0].Account, (*reply)[0].Account) + } else if !reflect.DeepEqual((*expected)[0].Destination, (*reply)[0].Destination) { + t.Errorf("Expected: %s, received: %s", (*expected)[0].Destination, (*reply)[0].Destination) + } + } + }) + + t.Run("CutEngineMidCall", func(t *testing.T) { + if err := engine.KillEngine(1000); err != nil { + t.Error(err) + } + // simulate connection down + time.Sleep(10 * time.Second) + }) + + t.Run("StartEngineMidCall", func(t *testing.T) { + if _, err := engine.StopStartEngine(cfgPath, *utils.WaitRater); err != nil { + t.Fatal(err) + } + tutorialCallsRpc, err = jsonrpc.Dial(utils.TCP, tutorialCallsCfg.ListenCfg().RPCJSONListen) // We connect over JSON so we can also troubleshoot if needed + if err != nil { + t.Fatal(err) + } + time.Sleep(23 * time.Second) + }) + + t.Run("CheckResourceAllocationAndWaitForCallToFinish", func(t *testing.T) { + var rs engine.Resources + args := &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "ResourceAllocation", + Event: map[string]any{ + utils.AccountField: "1001", + utils.Subject: "1001", + utils.Destination: "1002", + }, + APIOpts: map[string]any{ + utils.OptsResourcesUsageID: "OriginID1", + }, + } + if err := tutorialCallsRpc.Call(context.Background(), utils.ResourceSv1GetResourcesForEvent, args, &rs); err != nil { + t.Fatal(err) + } else if len(rs) != 1 { + t.Fatalf("Resources: %+v", utils.ToJSON(rs)) + } + if rs[0].ID != "ResGroup1" && len(rs[0].Usages) != 0 { + t.Errorf("Unexpected resource: %+v", utils.ToJSON(rs[0])) + } + // Allow calls to finish before start querying the results + time.Sleep(50 * time.Second) + }) + + t.Run("GetAccount1001", func(t *testing.T) { + var reply *engine.Account + attrs := &utils.AttrGetAccount{Tenant: "cgrates.org", Account: "1001"} + if err := tutorialCallsRpc.Call(context.Background(), utils.APIerSv2GetAccount, attrs, &reply); err != nil { + t.Error(err.Error()) + } else if reply.BalanceMap[utils.MetaMonetary].GetTotalValue() == 10.0 { // Make sure we debitted + t.Errorf("Expected: 10, received: %+v", reply.BalanceMap[utils.MetaMonetary].GetTotalValue()) + } else if reply.Disabled == true { + t.Error("Account disabled") + } + }) + + t.Run("GetCDRs", func(t *testing.T) { + var reply []*engine.ExternalCDR + req := utils.RPCCDRsFilter{RunIDs: []string{utils.MetaDefault}, Accounts: []string{"1001"}} + if err := tutorialCallsRpc.Call(context.Background(), utils.APIerSv2GetCDRs, &req, &reply); err != nil { + t.Error("Unexpected error: ", err.Error()) + } else if len(reply) != 1 { + t.Error("Unexpected number of CDRs returned: ", len(reply)) + } else { + for _, cdr := range reply { + if cdr.RequestType != utils.MetaPrepaid { + t.Errorf("Unexpected RequestType for CDR: %+v", cdr.RequestType) + } + if cdr.Destination == "1002" { + // in case of Asterisk take the integer part from usage + if optConf == utils.Asterisk { + cdr.Usage = strings.Split(cdr.Usage, ".")[0] + "s" + } + if cdr.Usage != "1m7s" && cdr.Usage != "1m8s" { // Usage as seconds + t.Errorf("Unexpected Usage for CDR: %+v", cdr.Usage) + } + if cdr.CostSource != utils.MetaSessionS { + t.Errorf("Unexpected CostSource for CDR: %+v", cdr.CostSource) + } + } else if cdr.Destination == "1003" { + // in case of Asterisk take the integer part from usage + if optConf == utils.Asterisk { + cdr.Usage = strings.Split(cdr.Usage, ".")[0] + "s" + } + if cdr.Usage != "12s" && cdr.Usage != "13s" { // Usage as seconds + t.Errorf("Unexpected Usage for CDR: %+v", cdr.Usage) + } + if cdr.CostSource != utils.MetaSessionS { + t.Errorf("Unexpected CostSource for CDR: %+v", cdr.CostSource) + } + } + } + } + }) + + t.Run("StatMetrics", func(t *testing.T) { + var metrics map[string]string + firstStatMetrics1 := map[string]string{ + utils.MetaTCC: "0.6117", + utils.MetaTCD: "1m7s", + } + firstStatMetrics2 := map[string]string{ + utils.MetaTCC: "1.35009", + utils.MetaTCD: "2m25s", + } + firstStatMetrics3 := map[string]string{ + utils.MetaTCC: "1.34009", + utils.MetaTCD: "2m24s", + } + firstStatMetrics4 := map[string]string{ + utils.MetaTCC: "1.35346", + utils.MetaTCD: "2m24s", + } + + if err := tutorialCallsRpc.Call(context.Background(), utils.StatSv1GetQueueStringMetrics, + &utils.TenantID{Tenant: "cgrates.org", ID: "Stats2"}, &metrics); err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(firstStatMetrics1, metrics) && + !reflect.DeepEqual(firstStatMetrics2, metrics) && + !reflect.DeepEqual(firstStatMetrics3, metrics) && + !reflect.DeepEqual(firstStatMetrics4, metrics) { + t.Errorf("expecting: %+v, received reply: %s", firstStatMetrics1, metrics) + } + if err := tutorialCallsRpc.Call(context.Background(), utils.StatSv1GetQueueStringMetrics, + &utils.TenantID{Tenant: "cgrates.org", ID: "Stats2_1"}, &metrics); err != nil { + t.Error(err) + } + }) + + t.Run("CheckResourceRelease", func(t *testing.T) { + var rs *engine.Resources + args := &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "ResourceRelease", + Event: map[string]any{ + utils.AccountField: "1001", + utils.Subject: "1001", + utils.Destination: "1002", + }, + APIOpts: map[string]any{ + utils.OptsResourcesUsageID: "OriginID2", + }, + } + if err := tutorialCallsRpc.Call(context.Background(), utils.ResourceSv1GetResourcesForEvent, args, &rs); err != nil { + t.Fatal(err) + } else if len(*rs) != 1 { + t.Fatalf("Resources: %+v", rs) + } + for _, r := range *rs { + if r.ID == "ResGroup1" && len(r.Usages) != 0 { + t.Errorf("Unexpected resource: %+v", utils.ToJSON(r)) + } + } + }) + + t.Run("CheckThreshold1001After", func(t *testing.T) { + var td engine.Threshold + if err := tutorialCallsRpc.Call(context.Background(), utils.ThresholdSv1GetThreshold, + &utils.TenantID{Tenant: "cgrates.org", ID: "THD_ACNT_1001"}, &td); err != nil && + err.Error() != utils.ErrNotFound.Error() { + t.Error(err) + } + }) + + t.Run("CheckThreshold1002After", func(t *testing.T) { + var td engine.Threshold + eTd := engine.Threshold{Tenant: "cgrates.org", ID: "THD_ACNT_1002", Hits: 0} + if err := tutorialCallsRpc.Call(context.Background(), utils.ThresholdSv1GetThreshold, + &utils.TenantID{Tenant: "cgrates.org", ID: "THD_ACNT_1002"}, &td); err != nil { + t.Error(err) + } else if !reflect.DeepEqual(eTd.Tenant, td.Tenant) { + t.Errorf("expecting: %+v, received: %+v", eTd.Tenant, td.Tenant) + } else if !reflect.DeepEqual(eTd.ID, td.ID) { + t.Errorf("expecting: %+v, received: %+v", eTd.ID, td.ID) + } else if !reflect.DeepEqual(eTd.Hits, td.Hits) { + t.Errorf("expecting: %+v, received: %+v", eTd.Hits, td.Hits) + } + }) + + t.Run("StopPjsuaListener", func(t *testing.T) { + tutorialCallsPjSuaListener.Write([]byte("q\n")) // Close pjsua + time.Sleep(time.Second) // Allow pjsua to finish it's tasks, eg un-REGISTER + }) + + t.Run("StopCgrEngine", func(t *testing.T) { + if err := engine.KillEngine(100); err != nil { + t.Error(err) + } + }) + + t.Run("StopFS", func(t *testing.T) { + engine.ForceKillProcName(utils.Freeswitch, 1000) + }) + if err := os.RemoveAll("/var/lib/cgrates/internal_db"); err != nil { + t.Error(err) + } +} diff --git a/general_tests/offline_internal_it_test.go b/general_tests/offline_internal_it_test.go new file mode 100644 index 000000000..9ceca1b51 --- /dev/null +++ b/general_tests/offline_internal_it_test.go @@ -0,0 +1,727 @@ +//go:build integration +// +build integration + +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +*/ +package general_tests + +import ( + "bufio" + "fmt" + "os" + "path" + "path/filepath" + "reflect" + "sort" + "strconv" + "testing" + "time" + + "github.com/cgrates/birpc/context" + v1 "github.com/cgrates/cgrates/apier/v1" + v2 "github.com/cgrates/cgrates/apier/v2" + "github.com/cgrates/cgrates/config" + "github.com/cgrates/cgrates/engine" + "github.com/cgrates/cgrates/utils" +) + +func TestOfflineInternal(t *testing.T) { // run with sudo + paths := []string{ + path.Join(*utils.DataDir, "conf", "samples", "offline_internal"), // dump -1 + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_ms"), // dump ms + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_rewrite"), // dump -1 and rewrite -1 + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_rewrite_ms"), // dump -1 and rewrite ms + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_ms_rewrite"), // dump ms and rewrite -1 + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_ms_rewrite_ms"), // dump ms and rewrite ms + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_limit"), // dump -1 and limit passed + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_ms_limit"), // dump ms and limit passed + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_rewrite_limit"), // dump -1 and rewrite -1 and limit passed + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_rewrite_ms_limit"), // dump -1 and rewrite ms and limit passed + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_ms_rewrite_limit"), // dump ms and rewrite -1 and limit passed + path.Join(*utils.DataDir, "conf", "samples", "offline_internal_ms_rewrite_ms_limit"), // dump ms and rewrite ms and limit passed + } + for i, pth := range paths { + if err := os.MkdirAll(config.NewDefaultCGRConfig().DataDbCfg().Opts.InternalDBDumpPath, 0755); err != nil { + t.Fatal(err) + } + if err := os.MkdirAll(config.NewDefaultCGRConfig().StorDbCfg().Opts.InternalDBDumpPath, 0755); err != nil { + t.Fatal(err) + } + t.Run("OfflineInternal"+strconv.Itoa(i), func(t *testing.T) { + ng := engine.TestEngine{ + ConfigPath: pth, + PreInitDB: true, + GracefulShutdown: true, + } + client, cfg := ng.Run(t) + time.Sleep(100 * time.Millisecond) + + t.Run("LoadTariffs", func(t *testing.T) { + attrs := &utils.AttrLoadTpFromFolder{FolderPath: path.Join(*utils.DataDir, "tariffplans", "testit")} + var loadInst utils.LoadInstance + if err := client.Call(context.Background(), utils.APIerSv2LoadTariffPlanFromFolder, attrs, &loadInst); err != nil { + t.Error(err) + } + time.Sleep(100 * time.Millisecond) + }) + + t.Run("ExportDataDB", func(t *testing.T) { + // exports Attributes, Chargers, Dispatchers, DispatcherHosts, Filters, Resources, Stats, Routes, Thresholds, Rankings, Trends + var reply string + if err := client.Call(context.Background(), utils.APIerSv1ExportToFolder, utils.ArgExportToFolder{Path: "/tmp/ExportPath1"}, &reply); err != nil { + t.Error(err) + } else if reply != utils.OK { + t.Errorf("Expected: <%v>, received: <%v>", utils.OK, reply) + } + }) + + var acnts []*engine.Account + + t.Run("GetAccounts", func(t *testing.T) { + if err := client.Call(context.Background(), utils.APIerSv2GetAccounts, + &utils.AttrGetAccounts{ + Tenant: "cgrates.org", + }, &acnts); err != nil { + t.Errorf("APIerSv2GetAccounts failed unexpectedly: %v", err) + } + if len(acnts) != 2 { + t.Fatalf("APIerSv2GetAccounts len(acnts)=%v, want 2", len(acnts)) + } + sort.Slice(acnts, func(i, j int) bool { + return acnts[i].ID > acnts[j].ID + }) + }) + + ratingPl := new(engine.RatingPlan) + ratingPl2 := new(engine.RatingPlan) + ratingPl3 := new(engine.RatingPlan) + ratingPl4 := new(engine.RatingPlan) + ratingPl5 := new(engine.RatingPlan) + ratingPl6 := new(engine.RatingPlan) + ratingPl7 := new(engine.RatingPlan) + ratingPl8 := new(engine.RatingPlan) + ratingPl9 := new(engine.RatingPlan) + ratingPl10 := new(engine.RatingPlan) + ratingPl11 := new(engine.RatingPlan) + + t.Run("GetRatingPlans", func(t *testing.T) { + rplnId := "RP_TESTIT1" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_SPECIAL_1002" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl2); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_RETAIL1" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl3); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_ANY2CNT" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl4); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_ANY1CNT" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl5); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_TEST" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl6); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_MOBILE" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl7); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_LOCAL" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl8); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_FREE" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl9); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_ANY2CNT_SEC" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl10); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + rplnId = "RP_ANY1CNT_SEC" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, ratingPl11); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + }) + + var rProf engine.RatingProfile + + t.Run("GetRatingProfile", func(t *testing.T) { + if err := client.Call(context.Background(), utils.APIerSv1GetRatingProfile, + &utils.AttrGetRatingProfile{ + Tenant: "cgrates.org", + Category: "free", + Subject: "RP_FREE", + }, &rProf); err != nil { + t.Error(err) + } + + }) + + var dests []*engine.Destination + t.Run("GetDestinations", func(t *testing.T) { + attrs := &v2.AttrGetDestinations{DestinationIDs: []string{}} + if err := client.Call(context.Background(), utils.APIerSv2GetDestinations, attrs, &dests); err != nil { + t.Error("Got error on APIerSv2.GetDestinations: ", err.Error()) + } + }) + + var rdID1, rdID2, rdID3, rdID4, rdID5, rdID6, rdID7 []string + + t.Run("GetReverseDestination", func(t *testing.T) { + checkRD := func(t *testing.T, dst string) (rpl []string) { + if err := client.Call(context.Background(), utils.APIerSv1GetReverseDestination, utils.StringPointer(dst), &rpl); err != nil { + t.Errorf("Error dst <%s>, <%v>", dst, err) + } + return + } + rdID1 = checkRD(t, "1001") + rdID2 = checkRD(t, "1002") + rdID3 = checkRD(t, "+49151") + rdID4 = checkRD(t, "077") + rdID5 = checkRD(t, "10") + rdID6 = checkRD(t, "+246") + rdID7 = checkRD(t, "+135") + }) + + var actsMp map[string]engine.Actions + t.Run("GetActions", func(t *testing.T) { + if err := client.Call(context.Background(), utils.APIerSv2GetActions, &v2.AttrGetActions{}, &actsMp); err != nil { + t.Error(err) + } + }) + + var atr engine.ActionTriggers + + t.Run("GetActionTriggers", func(t *testing.T) { + var reply string + if err := client.Call(context.Background(), utils.APIerSv1SetActionTrigger, v1.AttrSetActionTrigger{ + GroupID: "GroupID", + UniqueID: "ID", + ActionTrigger: map[string]any{ + utils.ThresholdType: "THR", + utils.ThresholdValue: 10, + utils.Recurrent: false, + utils.Executed: false, + utils.MinSleep: time.Second, + utils.ExpirationDate: time.Now(), + utils.ActivationDate: time.Now(), + utils.BalanceID: "*default", + utils.BalanceType: "*call", + utils.BalanceDestinationIds: []any{"DST1", "DST2"}, + utils.BalanceWeight: 10, + utils.BalanceExpirationDate: time.Now(), + utils.BalanceTimingTags: []string{"*asap"}, + utils.BalanceCategories: []string{utils.Call}, + utils.BalanceSharedGroups: []string{"SHRGroup"}, + utils.BalanceBlocker: true, + utils.ActionsID: "ACT1", + utils.MinQueuedItems: 5, + }, + }, &reply); err != nil { + t.Error(err) + } else if reply != utils.OK { + t.Errorf("Calling v1.SetActionTrigger got: %v", reply) + } + if err := client.Call(context.Background(), utils.APIerSv1GetActionTriggers, &v1.AttrGetActionTriggers{GroupIDs: []string{}}, &atr); err != nil { + t.Error(err) + } + }) + + var aps []*engine.ActionPlan + t.Run("GetActionPlan", func(t *testing.T) { + var reply string + atms1 := &v1.AttrSetActionPlan{ + Id: "ATMS_1", + ActionPlan: []*v1.AttrActionPlan{ + { + ActionsId: "ACTION_TOPUP_RESET_SMS", + MonthDays: "1", + Time: "00:00:00", + Weight: 20.0}, + }, + } + if err := client.Call(context.Background(), utils.APIerSv1SetActionPlan, &atms1, &reply); err != nil { + t.Error("Got error on APIerSv1.SetActionPlan: ", err.Error()) + } else if reply != utils.OK { + t.Errorf("Unexpected reply returned: %s", reply) + } + if err := client.Call(context.Background(), utils.APIerSv1GetActionPlan, + &v1.AttrGetActionPlan{ID: "ATMS_1"}, &aps); err != nil { + t.Error(err) + } + }) + + t.Run("EngineShutdown", func(t *testing.T) { + if err := engine.KillEngine(100); err != nil { + t.Error(err) + } + }) + + t.Run("CountDataDBFiles", func(t *testing.T) { + var dirs, files int + if err := filepath.Walk(cfg.DataDbCfg().Opts.InternalDBDumpPath, func(_ string, info os.FileInfo, err error) error { + if err != nil { + return err + } + if info.IsDir() { + dirs++ + } else { + files++ + } + return nil + }); err != nil { + t.Error(err) + } else if dirs != 40 { + t.Errorf("expected <%d> directories, received <%d>", 40, dirs) + } else if files != 28 { + t.Errorf("expected <%d> files, received <%d>", 28, files) + } + }) + + t.Run("CountStorDBFiles", func(t *testing.T) { + var dirs, files int + if err := filepath.Walk(cfg.StorDbCfg().Opts.InternalDBDumpPath, func(_ string, info os.FileInfo, err error) error { + if err != nil { + return err + } + if info.IsDir() { + dirs++ + } else { + files++ + } + return nil + }); err != nil { + t.Error(err) + } else if dirs != 27 { + t.Errorf("expected <%d> directories, received <%d>", 27, dirs) + } else if files != 1 { + t.Errorf("expected <%d> files, received <%d>", 1, files) + } + }) + + // start engine again + client, cfg = ng.Run(t) + time.Sleep(100 * time.Millisecond) + t.Run("ExportDataDB2", func(t *testing.T) { + var reply string + if err := client.Call(context.Background(), utils.APIerSv1ExportToFolder, utils.ArgExportToFolder{Path: "/tmp/ExportPath2"}, &reply); err != nil { + t.Error(err) + } else if reply != utils.OK { + t.Errorf("Expected: <%v>, received: <%v>", utils.OK, reply) + } + }) + + t.Run("CompareExports", func(t *testing.T) { + readLines := func(filePath string) ([]string, error) { + file, err := os.Open(filePath) + if err != nil { + return nil, fmt.Errorf("error opening file %s: %v", filePath, err) + } + defer file.Close() + + var lines []string + scanner := bufio.NewScanner(file) + for scanner.Scan() { + lines = append(lines, scanner.Text()) + } + if err := scanner.Err(); err != nil { + return nil, fmt.Errorf("error reading file %s: %v", filePath, err) + } + sort.Strings(lines) + return lines, nil + } + if err := filepath.Walk("/tmp/ExportPath1", func(path1 string, info1 os.FileInfo, err1 error) error { + if err1 != nil { + return err1 + } + relPath, err := filepath.Rel("/tmp/ExportPath1", path1) // save path that comes after /tmp/ExportPath1 + if err != nil { + return fmt.Errorf("error calculating relative path: %v", err) + } + path2 := filepath.Join("/tmp/ExportPath2", relPath) + if _, err := os.Stat(path2); err != nil { + return err + } + if info1.Mode().IsRegular() { + lines1, err := readLines(path1) + if err != nil { + return err + } + lines2, err := readLines(path2) + if err != nil { + return err + } + if len(lines1) != len(lines2) { + return fmt.Errorf("Line count doesnt match: <%v> \n\n<%v>", lines1, lines2) + } + + for i := 0; i < len(lines1); i++ { + if lines1[i] != lines2[i] { + return fmt.Errorf("Files differ: %v <%v> \nand \n%v <%v>", path1, lines1[i], path2, lines2[i]) + } + } + } + return nil + }); err != nil { + t.Error(err) + } + }) + + t.Run("GetAccounts2", func(t *testing.T) { + var acnts2 []*engine.Account + if err := client.Call(context.Background(), utils.APIerSv2GetAccounts, + &utils.AttrGetAccounts{ + Tenant: "cgrates.org", + }, &acnts2); err != nil { + t.Errorf("APIerSv2GetAccounts failed unexpectedly: %v", err) + } + if len(acnts2) != 2 { + t.Fatalf("APIerSv2GetAccounts len(acnts)=%v, want 2", len(acnts)) + } + sort.Slice(acnts2, func(i, j int) bool { + return acnts2[i].ID > acnts2[j].ID + }) + if !reflect.DeepEqual(acnts2, acnts) { + t.Errorf("Expected accounts to be the same. Before shutdown \n<%v>\nAfter rebooting <%v>", utils.ToJSON(acnts), utils.ToJSON(acnts2)) + } + }) + + t.Run("GetRatingPlans2", func(t *testing.T) { + restoreRply := new(engine.RatingPlan) + rplnId := "RP_TESTIT1" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply.Ratings { + if !reflect.DeepEqual(restoreRply.Ratings[rateId], ratingPl.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply.Ratings[rateId], ratingPl.Ratings[rateId]) + } + } + for rateId := range restoreRply.DestinationRates { + if !reflect.DeepEqual(restoreRply.DestinationRates[rateId], ratingPl.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply.DestinationRates[rateId], ratingPl.DestinationRates[rateId]) + } + } + restoreRply2 := new(engine.RatingPlan) + rplnId = "RP_SPECIAL_1002" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply2); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply2.Ratings { + if !reflect.DeepEqual(restoreRply2.Ratings[rateId], ratingPl2.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply2.Ratings[rateId], ratingPl2.Ratings[rateId]) + } + } + for rateId := range restoreRply2.DestinationRates { + if !reflect.DeepEqual(restoreRply2.DestinationRates[rateId], ratingPl2.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply2.DestinationRates[rateId], ratingPl2.DestinationRates[rateId]) + } + } + restoreRply3 := new(engine.RatingPlan) + rplnId = "RP_RETAIL1" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply3); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply3.Ratings { + if !reflect.DeepEqual(restoreRply3.Ratings[rateId], ratingPl3.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply3.Ratings[rateId], ratingPl3.Ratings[rateId]) + } + } + for rateId := range restoreRply3.DestinationRates { + if !reflect.DeepEqual(restoreRply3.DestinationRates[rateId], ratingPl3.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply3.DestinationRates[rateId], ratingPl3.DestinationRates[rateId]) + } + } + restoreRply4 := new(engine.RatingPlan) + rplnId = "RP_ANY2CNT" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply4); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply4.Ratings { + if !reflect.DeepEqual(restoreRply4.Ratings[rateId], ratingPl4.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply4.Ratings[rateId], ratingPl4.Ratings[rateId]) + } + } + for rateId := range restoreRply4.DestinationRates { + if !reflect.DeepEqual(restoreRply4.DestinationRates[rateId], ratingPl4.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply4.DestinationRates[rateId], ratingPl4.DestinationRates[rateId]) + } + } + restoreRply5 := new(engine.RatingPlan) + rplnId = "RP_ANY1CNT" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply5); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply5.Ratings { + if !reflect.DeepEqual(restoreRply5.Ratings[rateId], ratingPl5.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply5.Ratings[rateId], ratingPl5.Ratings[rateId]) + } + } + for rateId := range restoreRply5.DestinationRates { + if !reflect.DeepEqual(restoreRply5.DestinationRates[rateId], ratingPl5.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply5.DestinationRates[rateId], ratingPl5.DestinationRates[rateId]) + } + } + restoreRply6 := new(engine.RatingPlan) + rplnId = "RP_TEST" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply6); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply6.Ratings { + if !reflect.DeepEqual(restoreRply6.Ratings[rateId], ratingPl6.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply6.Ratings[rateId], ratingPl6.Ratings[rateId]) + } + } + for rateId := range restoreRply6.DestinationRates { + if !reflect.DeepEqual(restoreRply6.DestinationRates[rateId], ratingPl6.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply6.DestinationRates[rateId], ratingPl6.DestinationRates[rateId]) + } + } + restoreRply7 := new(engine.RatingPlan) + rplnId = "RP_MOBILE" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply7); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply7.Ratings { + if !reflect.DeepEqual(restoreRply7.Ratings[rateId], ratingPl7.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply7.Ratings[rateId], ratingPl7.Ratings[rateId]) + } + } + for rateId := range restoreRply7.DestinationRates { + if !reflect.DeepEqual(restoreRply7.DestinationRates[rateId], ratingPl7.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply7.DestinationRates[rateId], ratingPl7.DestinationRates[rateId]) + } + } + restoreRply8 := new(engine.RatingPlan) + rplnId = "RP_LOCAL" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply8); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply8.Ratings { + if !reflect.DeepEqual(restoreRply8.Ratings[rateId], ratingPl8.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply8.Ratings[rateId], ratingPl8.Ratings[rateId]) + } + } + for rateId := range restoreRply8.DestinationRates { + if !reflect.DeepEqual(restoreRply8.DestinationRates[rateId], ratingPl8.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply8.DestinationRates[rateId], ratingPl8.DestinationRates[rateId]) + } + } + restoreRply9 := new(engine.RatingPlan) + rplnId = "RP_FREE" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply9); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply9.Ratings { + if !reflect.DeepEqual(restoreRply9.Ratings[rateId], ratingPl9.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply9.Ratings[rateId], ratingPl9.Ratings[rateId]) + } + } + for rateId := range restoreRply9.DestinationRates { + if !reflect.DeepEqual(restoreRply9.DestinationRates[rateId], ratingPl9.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply9.DestinationRates[rateId], ratingPl9.DestinationRates[rateId]) + } + } + restoreRply10 := new(engine.RatingPlan) + rplnId = "RP_ANY2CNT_SEC" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply10); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply10.Ratings { + if !reflect.DeepEqual(restoreRply10.Ratings[rateId], ratingPl10.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply10.Ratings[rateId], ratingPl10.Ratings[rateId]) + } + } + for rateId := range restoreRply10.DestinationRates { + if !reflect.DeepEqual(restoreRply10.DestinationRates[rateId], ratingPl10.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply10.DestinationRates[rateId], ratingPl10.DestinationRates[rateId]) + } + } + restoreRply11 := new(engine.RatingPlan) + rplnId = "RP_ANY1CNT_SEC" + if err := client.Call(context.Background(), utils.APIerSv1GetRatingPlan, &rplnId, restoreRply11); err != nil { + t.Error("Got error on APIerSv1.GetRatingPlan: ", err.Error()) + } + for rateId := range restoreRply11.Ratings { + if !reflect.DeepEqual(restoreRply11.Ratings[rateId], ratingPl11.Ratings[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply11.Ratings[rateId], ratingPl11.Ratings[rateId]) + } + } + for rateId := range restoreRply11.DestinationRates { + if !reflect.DeepEqual(restoreRply11.DestinationRates[rateId], ratingPl11.DestinationRates[rateId]) { + t.Errorf("expected <%+v>, \nreceived <%+v>", restoreRply11.DestinationRates[rateId], ratingPl11.DestinationRates[rateId]) + } + } + }) + t.Run("GetRatingProfiles2", func(t *testing.T) { + var rcvRprof engine.RatingProfile + if err := client.Call(context.Background(), utils.APIerSv1GetRatingProfile, + &utils.AttrGetRatingProfile{ + Tenant: "cgrates.org", + Category: "free", + Subject: "RP_FREE", + }, &rcvRprof); err != nil { + t.Error(err) + } + if !reflect.DeepEqual(rcvRprof, rProf) { + t.Errorf("expected <%+v>, \nreceived <%+v>", rProf, rcvRprof) + } + }) + + t.Run("GetDestinations2", func(t *testing.T) { + sort.Slice(dests, func(i, j int) bool { + return dests[i].Id < dests[j].Id + }) + var rcv []*engine.Destination + attrs := &v2.AttrGetDestinations{DestinationIDs: []string{}} + if err := client.Call(context.Background(), utils.APIerSv2GetDestinations, attrs, &rcv); err != nil { + t.Error("Got error on APIerSv2.GetDestinations: ", err.Error()) + } + sort.Slice(rcv, func(i, j int) bool { + return rcv[i].Id < rcv[j].Id + }) + if !reflect.DeepEqual(dests, rcv) { + t.Errorf("expected <%+v>, \nreceived <%+v>", dests, rcv) + } + }) + + t.Run("GetReverseDestination2", func(t *testing.T) { + checkRD := func(t *testing.T, dst string) (rpl []string) { + if err := client.Call(context.Background(), utils.APIerSv1GetReverseDestination, utils.StringPointer(dst), &rpl); err != nil { + t.Errorf("Error dst <%s>, <%v>", dst, err) + } + return + } + rcvRdID1 := checkRD(t, "1001") + rcvRdID2 := checkRD(t, "1002") + rcvRdID3 := checkRD(t, "+49151") + rcvRdID4 := checkRD(t, "077") + rcvRdID5 := checkRD(t, "10") + rcvRdID6 := checkRD(t, "+246") + rcvRdID7 := checkRD(t, "+135") + if !reflect.DeepEqual(rdID1, rcvRdID1) { + t.Errorf("expected <%+v>, \nreceived <%+v>", rdID1, rcvRdID1) + } + if !reflect.DeepEqual(rdID2, rcvRdID2) { + t.Errorf("expected <%+v>, \nreceived <%+v>", rdID2, rcvRdID2) + } + if !reflect.DeepEqual(rdID3, rcvRdID3) { + t.Errorf("expected <%+v>, \nreceived <%+v>", rdID3, rcvRdID3) + } + if !reflect.DeepEqual(rdID4, rcvRdID4) { + t.Errorf("expected <%+v>, \nreceived <%+v>", rdID4, rcvRdID4) + } + if !reflect.DeepEqual(rdID5, rcvRdID5) { + t.Errorf("expected <%+v>, \nreceived <%+v>", rdID5, rcvRdID5) + } + if !reflect.DeepEqual(rdID6, rcvRdID6) { + t.Errorf("expected <%+v>, \nreceived <%+v>", rdID6, rcvRdID6) + } + if !reflect.DeepEqual(rdID7, rcvRdID7) { + t.Errorf("expected <%+v>, \nreceived <%+v>", rdID7, rcvRdID7) + } + }) + + t.Run("GetActions2", func(t *testing.T) { + var rcv map[string]engine.Actions + if err := client.Call(context.Background(), utils.APIerSv2GetActions, &v2.AttrGetActions{}, &rcv); err != nil { + t.Error(err) + } + if len(actsMp) != len(rcv) { + t.Errorf("Length of expected <%v>, doesnt match <%v>", len(actsMp), len(rcv)) + } + + for id, acts := range actsMp { + if len(acts) != len(rcv[id]) { + t.Errorf("Length of expected <%v>, doesnt match <%v>", len(acts), len(rcv[id])) + } + for i, act := range acts { + if rcv[id][i].Balance.Blocker == nil { + rcv[id][i].Balance.Blocker = utils.BoolPointer(false) + } + if rcv[id][i].Balance.Disabled == nil { + rcv[id][i].Balance.Disabled = utils.BoolPointer(false) + } + if rcv[id][i].Balance.ExpirationDate == nil { + rcv[id][i].Balance.ExpirationDate = act.Balance.ExpirationDate + } + if !reflect.DeepEqual(utils.ToJSON(act), utils.ToJSON(rcv[id][i])) { + t.Errorf("expected <%+v>, \nreceived <%+v>", utils.ToJSON(act), utils.ToJSON(rcv[id][i])) + } + } + } + + }) + + t.Run("GetActionTriggers2", func(t *testing.T) { + var rcv engine.ActionTriggers + if err := client.Call(context.Background(), utils.APIerSv1GetActionTriggers, &v1.AttrGetActionTriggers{GroupIDs: []string{}}, &rcv); err != nil { + t.Error(err) + } + if !reflect.DeepEqual(atr, rcv) { + t.Errorf("expected <%+v>, \nreceived <%+v>", atr, rcv) + } + }) + + t.Run("GetActionPlan2", func(t *testing.T) { + var rcv []*engine.ActionPlan + if err := client.Call(context.Background(), utils.APIerSv1GetActionPlan, + &v1.AttrGetActionPlan{ID: "ATMS_1"}, &rcv); err != nil { + t.Error(err) + } + if len(aps) != 1 || len(rcv) != 1 { + t.Errorf("expected aps len 1, got <%v>, expected rcv len 1, got <%v>", len(aps), len(rcv)) + } + if !reflect.DeepEqual(aps[0].Id, rcv[0].Id) { + t.Errorf("expected <%+v>, \nreceived <%+v>", aps[0].Id, rcv[0].Id) + } + for id, actts := range aps[0].ActionTimings { + if !reflect.DeepEqual(actts.ActionsID, rcv[0].ActionTimings[id].ActionsID) { + t.Errorf("expected <%+v>, \nreceived <%+v>", actts.ActionsID, rcv[0].ActionTimings[id].ActionsID) + } + if !reflect.DeepEqual(actts.Uuid, rcv[0].ActionTimings[id].Uuid) { + t.Errorf("expected <%+v>, \nreceived <%+v>", actts.Uuid, rcv[0].ActionTimings[id].Uuid) + } + if !reflect.DeepEqual(actts.ExtraData, rcv[0].ActionTimings[id].ExtraData) { + t.Errorf("expected <%+v>, \nreceived <%+v>", actts.ExtraData, rcv[0].ActionTimings[id].ExtraData) + } + if !reflect.DeepEqual(actts.Weight, rcv[0].ActionTimings[id].Weight) { + t.Errorf("expected <%+v>, \nreceived <%+v>", actts.Weight, rcv[0].ActionTimings[id].Weight) + } + } + }) + if err := os.RemoveAll("/var/lib/cgrates/internal_db"); err != nil { + t.Error(err) + } + if err := os.RemoveAll("/tmp/ExportPath1"); err != nil { + t.Error(err) + } + if err := os.RemoveAll("/tmp/ExportPath2"); err != nil { + t.Error(err) + } + }) + } +} diff --git a/general_tests/ranking_schedule_it_test.go b/general_tests/ranking_schedule_it_test.go index 1d7cd032d..0479d2bcc 100644 --- a/general_tests/ranking_schedule_it_test.go +++ b/general_tests/ranking_schedule_it_test.go @@ -52,7 +52,7 @@ func TestRankingSchedule(t *testing.T) { PreserveStorDB: true, PreserveDataDB: true, PreStartHook: func(t testing.TB, c *config.CGRConfig) { - engine.FlushDBs(t, c, true, true) + engine.FlushDBs(t, c, true, true, false) engine.LoadCSVsWithCGRLoader(t, c.ConfigPath, path.Join(*utils.DataDir, "tariffplans", "tutrankings"), nil, nil, "-caches_address=") }, } diff --git a/general_tests/reproc_cdrs_for_stats_it_test.go b/general_tests/reproc_cdrs_for_stats_it_test.go index 5afd18a74..43449ddcd 100644 --- a/general_tests/reproc_cdrs_for_stats_it_test.go +++ b/general_tests/reproc_cdrs_for_stats_it_test.go @@ -74,7 +74,9 @@ var ( func TestReProcCDRs(t *testing.T) { switch *utils.DBType { case utils.MetaInternal: - t.SkipNow() + rpcdrsConfDIR1 = "rerate_cdrs_internal" + rpcdrsConfDIR2 = "reprocess_cdrs_stats_ees_internal" + defer os.RemoveAll("/tmp/internal_db") case utils.MetaMySQL: rpcdrsConfDIR1 = "rerate_cdrs_mysql" rpcdrsConfDIR2 = "reprocess_cdrs_stats_ees_mysql" @@ -97,6 +99,14 @@ func testRpcdrsLoadConfig1(t *testing.T) { if rpcdrsCfg, err = config.NewCGRConfigFromPath(rpcdrsCfgPath); err != nil { t.Error(err) } + if *utils.DBType == utils.MetaInternal { + if err = os.MkdirAll(rpcdrsCfg.DataDbCfg().Opts.InternalDBDumpPath, 0700); err != nil { + t.Fatal(err) + } + if err = os.MkdirAll(rpcdrsCfg.StorDbCfg().Opts.InternalDBDumpPath, 0700); err != nil { + t.Fatal(err) + } + } } func testRpcdrsInitDataDb(t *testing.T) { @@ -391,8 +401,24 @@ func testRpcdrsReprocessCDRs(t *testing.T) { if err != nil { t.Fatal(err) } + for _, cdr := range cdrsRerated { + for _, timing := range cdr.CostDetails.Timings { + if timing.Years == nil { + timing.Years = utils.Years{} + } + if timing.MonthDays == nil { + timing.MonthDays = utils.MonthDays{} + } + if timing.Months == nil { + timing.Months = utils.Months{} + } + if timing.WeekDays == nil { + timing.WeekDays = utils.WeekDays{} + } + } - if utils.ToJSON(cdrs) != utils.ToJSON(cdrsRerated) { + } + if !reflect.DeepEqual(cdrs, cdrsRerated) { t.Errorf("expected <%v>, \nreceived\n<%v>", utils.ToJSON(cdrs), utils.ToJSON(cdrsRerated)) } } diff --git a/general_tests/rerate_cdrs_it_test.go b/general_tests/rerate_cdrs_it_test.go index 8ab7121a5..4cea1f7bb 100644 --- a/general_tests/rerate_cdrs_it_test.go +++ b/general_tests/rerate_cdrs_it_test.go @@ -23,6 +23,7 @@ package general_tests import ( "errors" "math" + "os" "path" "reflect" "testing" @@ -38,6 +39,13 @@ func TestRerateCDRs(t *testing.T) { switch *utils.DBType { case utils.MetaInternal: cfgDir = "rerate_cdrs_internal" + if err := os.MkdirAll("/tmp/internal_db/datadb", 0700); err != nil { + t.Fatal(err) + } + if err := os.MkdirAll("/tmp/internal_db/stordb", 0700); err != nil { + t.Fatal(err) + } + defer os.RemoveAll("/tmp/internal_db") case utils.MetaMySQL: cfgDir = "rerate_cdrs_mysql" case utils.MetaMongo: @@ -319,6 +327,13 @@ func TestRerateCDRsNoRefund(t *testing.T) { switch *utils.DBType { case utils.MetaInternal: cfgDir = "rerate_cdrs_internal" + if err := os.MkdirAll("/tmp/internal_db/datadb", 0700); err != nil { + t.Fatal(err) + } + if err := os.MkdirAll("/tmp/internal_db/stordb", 0700); err != nil { + t.Fatal(err) + } + defer os.RemoveAll("/tmp/internal_db") case utils.MetaMySQL: cfgDir = "rerate_cdrs_mysql" case utils.MetaMongo: diff --git a/general_tests/rerate_ers_cdrs_it_test.go b/general_tests/rerate_ers_cdrs_it_test.go index 5fae2318f..a4f62adf7 100644 --- a/general_tests/rerate_ers_cdrs_it_test.go +++ b/general_tests/rerate_ers_cdrs_it_test.go @@ -64,7 +64,7 @@ var ( ) func TestReRateCDRsERs(t *testing.T) { - t.Skip() + t.Skip() // unfinished, should be able to rerate cdrs using ERs for _, stest := range rrErsCdrsTests { t.Run("ers_rerate", stest) } diff --git a/general_tests/resourcesv1_it_test.go b/general_tests/resourcesv1_it_test.go index 7385ea207..9e9884072 100644 --- a/general_tests/resourcesv1_it_test.go +++ b/general_tests/resourcesv1_it_test.go @@ -215,7 +215,7 @@ func testV1RsAuthorize(t *testing.T) { }, } if err := rlsV1Rpc.Call(context.Background(), utils.ResourceSv1AuthorizeResources, - &cgrEv, &reply2); err.Error() != "RESOURCE_UNAUTHORIZED" { + &cgrEv, &reply2); err == nil || err.Error() != "RESOURCE_UNAUTHORIZED" { t.Error(err) } } diff --git a/general_tests/session_bkup_interval_it_test.go b/general_tests/session_bkup_interval_it_test.go index 0c5218573..7cd0451ad 100644 --- a/general_tests/session_bkup_interval_it_test.go +++ b/general_tests/session_bkup_interval_it_test.go @@ -23,6 +23,7 @@ package general_tests import ( "fmt" + "os" "path" "testing" "time" @@ -69,7 +70,7 @@ var ( func TestSessionsBkupIntrvl(t *testing.T) { switch *utils.DBType { case utils.MetaInternal: - t.SkipNow() + sBkupCfgDIR = "sessions_backup_interval_internal" case utils.MetaMySQL: sBkupCfgDIR = "sessions_backup_interval_mysql" case utils.MetaMongo: @@ -82,6 +83,11 @@ func TestSessionsBkupIntrvl(t *testing.T) { for _, stest := range SessionsBkupIntrvlTests { t.Run(*utils.DBType, stest) } + if *utils.DBType == utils.MetaInternal { + if err := os.RemoveAll("/tmp/internal_db"); err != nil { + t.Error(err) + } + } } func testSessionSBkupIntrvlInitCfg(t *testing.T) { @@ -94,6 +100,20 @@ func testSessionSBkupIntrvlInitCfg(t *testing.T) { // Remove data in both rating and accounting db func testSessionSBkupIntrvlResetDB(t *testing.T) { + if *utils.DBType == utils.MetaInternal { + if err := engine.PreInitDataDb(sBkupCfg); err != nil { + t.Fatal(err) + } + if err := engine.PreInitStorDb(sBkupCfg); err != nil { + t.Fatal(err) + } + if err := os.MkdirAll(sBkupCfg.DataDbCfg().Opts.InternalDBDumpPath, 0755); err != nil { + t.Fatal("Error creating folder: ", sBkupCfg.DataDbCfg().Opts.InternalDBDumpPath, err) + } + if err := os.MkdirAll(sBkupCfg.StorDbCfg().Opts.InternalDBDumpPath, 0755); err != nil { + t.Fatal("Error creating folder: ", sBkupCfg.StorDbCfg().Opts.InternalDBDumpPath, err) + } + } if err := engine.InitDataDb(sBkupCfg); err != nil { t.Fatal(err) } @@ -222,6 +242,9 @@ func testSessionSBkupIntrvlConcurrentAPIWithInterval(t *testing.T) { } func testSessionSBkupIntrvlGetBackedupSessions1(t *testing.T) { + if *utils.DBType == utils.MetaInternal { + t.Skip() // skip this since there currently is no way of looking at StoredSession without having the actual internalDB + } var err error if *utils.DBType == utils.MetaMySQL || *utils.DBType == utils.MetaPostgres { dDB, err = engine.NewRedisStorage( @@ -326,6 +349,9 @@ func testSessionSBkupIntrvlGetActiveSessionsTerminate(t *testing.T) { time.Sleep(1 * time.Second) // Wait for 2 500ms intervals so we are sure it removed all terminated sessions from dataDB } func testSessionSBkupIntrvlGetBackedupSessions2(t *testing.T) { + if *utils.DBType == utils.MetaInternal { + t.Skip() // skip this since there currently is no way of looking at StoredSession without having the actual internalDB + } storedSessions, err := dDB.GetSessionsBackupDrv(sBkupCfg.GeneralCfg().NodeID, sBkupCfg.GeneralCfg().DefaultTenant) if err != utils.ErrNoBackupFound { @@ -342,6 +368,9 @@ func testSessionSBkupIntrvlGetActiveSessions0(t *testing.T) { new(utils.SessionFilter), &aSessions); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) } + if len(aSessions) != 0 { + t.Errorf("Expected 0 sessions active, received <%v>", len(aSessions)) + } } func testSessionSBkupIntrvlStopCgrEngine(t *testing.T) { diff --git a/general_tests/smschrg1_test.go b/general_tests/smschrg1_test.go index 4d3f68fd9..0d19027a9 100644 --- a/general_tests/smschrg1_test.go +++ b/general_tests/smschrg1_test.go @@ -30,7 +30,7 @@ func TestSMSSetStorageSmsChrg1(t *testing.T) { cfg := config.NewDefaultCGRConfig() config.SetCgrConfig(cfg) config.CgrConfig().CacheCfg().Partitions[utils.CacheRatingPlans].Precache = true // precache rating plan - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 1c0a78bfe..548b20bbc 100644 --- a/loaders/lib_test.go +++ b/loaders/lib_test.go @@ -75,7 +75,7 @@ func TestProcessContentCallsRemoveItems(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan birpc.ClientConnector, 1) internalCacheSChan <- sMock @@ -179,7 +179,7 @@ func TestProcessContentCallsClear(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan birpc.ClientConnector, 1) internalCacheSChan <- sMock @@ -290,7 +290,7 @@ func TestRemoveContentCallsReload(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan birpc.ClientConnector, 1) internalCacheSChan <- sMock @@ -396,7 +396,7 @@ func TestRemoveContentCallsLoad(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan birpc.ClientConnector, 1) internalCacheSChan <- sMock @@ -502,7 +502,7 @@ func TestRemoveContentCallsRemove(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan birpc.ClientConnector, 1) internalCacheSChan <- sMock @@ -619,7 +619,7 @@ func TestRemoveContentCallsClear(t *testing.T) { }, }, } - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) internalCacheSChan := make(chan birpc.ClientConnector, 1) internalCacheSChan <- sMock diff --git a/loaders/libloader_test.go b/loaders/libloader_test.go index 7128ba864..7947bfa83 100644 --- a/loaders/libloader_test.go +++ b/loaders/libloader_test.go @@ -315,7 +315,7 @@ func TestUpdateFromCsvWithFiltersError(t *testing.T) { lData := make(LoaderData) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) @@ -349,7 +349,7 @@ func TestUpdateFromCsvWithFiltersContinue(t *testing.T) { lData := make(LoaderData) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, dm) diff --git a/loaders/loader_it_test.go b/loaders/loader_it_test.go index 57b7b6423..df89c831c 100644 --- a/loaders/loader_it_test.go +++ b/loaders/loader_it_test.go @@ -437,7 +437,7 @@ cgrates.org,NewRes1 `)) file.Close() - data := engine.NewInternalDB(nil, nil, true, loaderCfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, loaderCfg.DataDbCfg().Items) ldr := &Loader{ ldrID: "testProcessFile", dm: engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil), @@ -545,7 +545,7 @@ cgrates.org,NewRes1 `)) file.Close() - data := engine.NewInternalDB(nil, nil, true, loaderCfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, loaderCfg.DataDbCfg().Items) ldr := &Loader{ ldrID: "testProcessFile", dm: engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil), @@ -678,7 +678,7 @@ func testProcessFileRenameError(t *testing.T) { if err := os.MkdirAll(flPath1, os.ModePerm); err != nil { t.Error(err) } - data := engine.NewInternalDB(nil, nil, true, loaderCfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, 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 8b2691a28..1fc319ce8 100644 --- a/loaders/loader_test.go +++ b/loaders/loader_test.go @@ -38,7 +38,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -var data = engine.NewInternalDB(nil, nil, false, config.CgrConfig().DataDbCfg().Items) +var data = engine.NewInternalDB(nil, nil, false, false, config.CgrConfig().DataDbCfg().Items) const ( ResourcesCSVContent = ` diff --git a/loaders/loaders_it_test.go b/loaders/loaders_it_test.go index ff42a30d3..76cf9b197 100644 --- a/loaders/loaders_it_test.go +++ b/loaders/loaders_it_test.go @@ -86,7 +86,7 @@ cgrates.org,NewRes1`)); err != nil { } file.Close() - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfg := config.NewDefaultCGRConfig().LoaderCfg() cfg[0] = &config.LoaderSCfg{ @@ -169,7 +169,7 @@ cgrates.org,NewRes1 `)) file.Close() - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -206,7 +206,7 @@ func testV1LoadUnableToDeleteFile(t *testing.T) { t.Error(err) } - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -250,7 +250,7 @@ NOT_UINT `)) file.Close() - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -325,7 +325,7 @@ cgrates.org,NewRes1`)) } file.Close() - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items), + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) cfg := config.NewDefaultCGRConfig().LoaderCfg() cfg[0] = &config.LoaderSCfg{ @@ -409,7 +409,7 @@ cgrates.org,NewRes1 `)) file.Close() - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -447,7 +447,7 @@ func testV1RemoveUnableToDeleteFile(t *testing.T) { t.Error(err) } - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -486,7 +486,7 @@ func testV1LoadAndRemoveProcessRemoveFolderError(t *testing.T) { t.Error(err) } defer file.Close() - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -546,7 +546,7 @@ func testV1RemoveProcessFolderError(t *testing.T) { t.Error(err) } - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ @@ -611,7 +611,7 @@ func testLoaderServiceListenAndServe(t *testing.T) { func testLoaderServiceReload(t *testing.T) { flPath := "/tmp/testLoaderServiceReload" - data := engine.NewInternalDB(nil, nil, true, config.CgrConfig().DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, config.CgrConfig().DataDbCfg().Items) dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) cfgLdr := config.NewDefaultCGRConfig().LoaderCfg() cfgLdr[0] = &config.LoaderSCfg{ diff --git a/services/datadb_it_test.go b/services/datadb_it_test.go index 50d9db1de..80127516d 100644 --- a/services/datadb_it_test.go +++ b/services/datadb_it_test.go @@ -90,6 +90,10 @@ func TestDataDBReload(t *testing.T) { Name: "10", User: "cgrates", Opts: &config.DataDBOpts{ + InternalDBDumpPath: "/var/lib/cgrates/internal_db/datadb", + InternalDBBackupPath: "/var/lib/cgrates/internal_db/backup/datadb", + InternalDBStartTimeout: 5 * time.Minute, + InternalDBWriteLimit: 100, MongoConnScheme: "mongodb", RedisMaxConns: 10, RedisConnectAttempts: 20, @@ -798,7 +802,7 @@ func TestDataDBReloadError(t *testing.T) { Remote: false}, }, } - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) db.dm = engine.NewDataManager(data, nil, nil) err := db.Reload() if err != nil { diff --git a/services/freeswitchagent_it_test.go b/services/freeswitchagent_it_test.go index 7406aec82..f487411b3 100644 --- a/services/freeswitchagent_it_test.go +++ b/services/freeswitchagent_it_test.go @@ -268,7 +268,7 @@ func TestFreeSwitchAgentReload6(t *testing.T) { filterSChan := make(chan *engine.FilterS, 1) filterSChan <- nil shdChan := utils.NewSyncedChan() - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), nil) chS := engine.NewCacheS(cfg, dm, nil) cacheSrv, err := engine.NewService(chS) diff --git a/services/stordb_test.go b/services/stordb_test.go index 41d3b4b52..ffa6ba41d 100644 --- a/services/stordb_test.go +++ b/services/stordb_test.go @@ -36,7 +36,7 @@ func TestStorDBServiceCoverage(t *testing.T) { if err == true { t.Errorf("Expected service to be down") } - srv.db = engine.NewInternalDB([]string{"test"}, []string{"test2"}, true, cfg.DataDbCfg().Items) + srv.db = engine.NewInternalDB([]string{"test"}, []string{"test2"}, true, false, cfg.DataDbCfg().Items) err = srv.IsRunning() if err == false { t.Errorf("Expected service to be running") diff --git a/sessions/sessions_bkup_it_test.go b/sessions/sessions_bkup_it_test.go index 7b7c5acad..96daf458f 100644 --- a/sessions/sessions_bkup_it_test.go +++ b/sessions/sessions_bkup_it_test.go @@ -118,11 +118,20 @@ func testSessionSBkupInitCfg(t *testing.T) { // Remove data in both rating and accounting db func testSessionSBkupResetDB(t *testing.T) { - if err := engine.InitDataDb(sBkupCfg); err != nil { - t.Fatal(err) - } - if err := engine.InitStorDb(sBkupCfg); err != nil { - t.Fatal(err) + if *utils.DBType == utils.MetaInternal { + if err := engine.PreInitDataDb(sBkupCfg); err != nil { + t.Fatal(err) + } + if err := engine.PreInitStorDb(sBkupCfg); err != nil { + t.Fatal(err) + } + } else { + if err := engine.InitDataDb(sBkupCfg); err != nil { + t.Fatal(err) + } + if err := engine.InitStorDb(sBkupCfg); err != nil { + t.Fatal(err) + } } } diff --git a/sessions/sessions_test.go b/sessions/sessions_test.go index 1c518a293..15dbdd9c1 100644 --- a/sessions/sessions_test.go +++ b/sessions/sessions_test.go @@ -88,7 +88,7 @@ func TestIsIndexed(t *testing.T) { func TestOnBiJSONConnectDisconnect(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -118,7 +118,7 @@ func TestOnBiJSONConnectDisconnect(t *testing.T) { func TestBiRPCv1RegisterInternalBiJSONConn(t *testing.T) { cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -1809,7 +1809,7 @@ func TestSessionSNewV1AuthorizeArgsWithOpts2(t *testing.T) { func TestSessionSGetIndexedFilters(t *testing.T) { cfg := config.NewDefaultCGRConfig() - mpStr := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + mpStr := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) sS := NewSessionS(cfg, engine.NewDataManager(mpStr, config.CgrConfig().CacheCfg(), nil), nil) expIndx := map[string][]string{} expUindx := []*engine.FilterRule{ @@ -2618,7 +2618,7 @@ func (mk *mockConnWarnDisconnect2) Call(ctx *context.Context, method string, arg func TestWarnSession(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.GeneralCfg().NodeID = "ClientConnIdtest" - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -2714,7 +2714,7 @@ func TestInitSession(t *testing.T) { func TestBiJClntID(t *testing.T) { client := &mockConnWarnDisconnect1{} cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) sessions.biJClnts = map[birpc.ClientConnector]string{ @@ -2766,7 +2766,7 @@ func TestBiRPCv1AuthorizeEventNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -2836,7 +2836,7 @@ func TestBiRPCv1AuthorizeEventWithDigestNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -2904,7 +2904,7 @@ func TestBiRPCv1InitiateSessionNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -2971,7 +2971,7 @@ func TestBiRPCv1InitiateSessionWithDigestNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -3036,7 +3036,7 @@ func TestBiRPCv1UpdateSessionNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -3086,7 +3086,7 @@ func TestBiRPCv1TerminateSessionNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -3152,7 +3152,7 @@ func TestBiRPCv1ProcessMessageNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(db, cfg.CacheCfg(), connMngr) ss := NewSessionS(cfg, dm, connMngr) @@ -3220,7 +3220,7 @@ func TestBiRPCv1ProcessEventNoTenant(t *testing.T) { connMngr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.Attributes): chanClnt, }) - db := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + db := engine.NewInternalDB(nil, nil, true, false, 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 576139ec0..74edd554d 100644 --- a/sessions/sessionscover_test.go +++ b/sessions/sessionscover_test.go @@ -41,7 +41,7 @@ func TestSetSTerminator(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().SessionTTL = time.Second - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -110,7 +110,7 @@ func TestSetSTerminatorError(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().SessionTTL = time.Second - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -209,7 +209,7 @@ func TestSetSTerminatorAutomaticTermination(t *testing.T) { ss := &Session{} cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -241,7 +241,7 @@ func TestSetSTerminatorManualTermination(t *testing.T) { ss := &Session{} cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -276,7 +276,7 @@ func TestForceSTerminatorManualTermination(t *testing.T) { } cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -291,7 +291,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs): nil, @@ -329,7 +329,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): nil, @@ -379,7 +379,7 @@ func TestForceSTerminatorClientCall(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.GeneralCfg().NodeID = "ClientConnID" - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): nil, @@ -420,7 +420,7 @@ func TestForceSTerminatorClientCall(t *testing.T) { func TestDebitSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -502,7 +502,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -571,7 +571,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): internalRpcChan, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaScheduler): internalRpcChan}) @@ -628,7 +628,7 @@ func TestDebitSessionResponderMaxDebitError(t *testing.T) { func TestInitSessionDebitLoops(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -675,7 +675,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -758,7 +758,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -821,7 +821,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -938,7 +938,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -996,7 +996,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock, @@ -1083,7 +1083,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs): sMock}) @@ -1138,7 +1138,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock}) @@ -1243,7 +1243,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): sMock}) @@ -1305,7 +1305,7 @@ func TestRoundCost(t *testing.T) { func TestDisconnectSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -1355,7 +1355,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaReplicator): sMock}) @@ -1393,7 +1393,7 @@ func TestNewSession(t *testing.T) { sMock := make(chan birpc.ClientConnector, 1) sMock <- testMock1 cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): sMock}) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) @@ -1475,7 +1475,7 @@ func TestProcessChargerS(t *testing.T) { sMock := make(chan birpc.ClientConnector, 1) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): sMock}) - dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items), cfg.CacheCfg(), connMgr) + dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items), cfg.CacheCfg(), connMgr) engine.Cache = engine.NewCacheS(cfg, dm, nil) engine.Cache.Clear(nil) testMock1 := &testMockClients{ @@ -1530,7 +1530,7 @@ func TestProcessChargerS(t *testing.T) { func TestTransitSState(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -1559,7 +1559,7 @@ func TestTransitSState(t *testing.T) { func TestRelocateSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -1614,7 +1614,7 @@ func TestRelocateSession(t *testing.T) { func TestGetRelocateSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -1731,7 +1731,7 @@ func TestSyncSessions(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheClosedSessions] = &config.CacheParamCfg{ Replicate: true, } - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal}) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) @@ -1801,7 +1801,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal}) @@ -1877,7 +1877,7 @@ func TestAuthEventMockCall(t *testing.T) { connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal}) - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) sessions := NewSessionS(cfg, dm, connMgr) @@ -1955,7 +1955,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) sessions := NewSessionS(cfg, dm, connMgr) @@ -2008,7 +2008,7 @@ func TestChargeEvent(t *testing.T) { func TestUpdateSession(t *testing.T) { log.SetOutput(io.Discard) cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -2070,7 +2070,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) sessions := NewSessionS(cfg, dm, connMgr) @@ -2158,7 +2158,7 @@ func TestBiRPCv1GetActivePassiveSessions(t *testing.T) { cfg.SessionSCfg().SessionIndexes = utils.StringSet{ "ToR": {}, } - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -2316,7 +2316,7 @@ func TestBiRPCv1SetPassiveSession(t *testing.T) { clnt := &testMockClients{} cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -2373,7 +2373,7 @@ func TestBiRPCv1ReplicateSessions(t *testing.T) { chanInternal := make(chan birpc.ClientConnector, 1) chanInternal <- clnt cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ "conn1": chanInternal, }) @@ -2421,7 +2421,7 @@ func TestBiRPCv1AuthorizeEvent(t *testing.T) { chanInternal := make(chan birpc.ClientConnector, 1) chanInternal <- clnt cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal, }) @@ -2538,7 +2538,7 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { chanInternal <- clnt cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 0 - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -2696,7 +2696,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -2804,7 +2804,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -2946,7 +2946,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -3087,7 +3087,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, @@ -3155,7 +3155,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal, }) @@ -3242,7 +3242,7 @@ func TestBiRPCv1UpdateSession2(t *testing.T) { chanInternal := make(chan birpc.ClientConnector, 1) chanInternal <- clnt cfg := config.NewDefaultCGRConfig() - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, }) @@ -3322,7 +3322,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, }) @@ -3456,7 +3456,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, }) @@ -3507,7 +3507,7 @@ func TestBiRPCv1ProcessCDR(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) @@ -3560,7 +3560,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal, }) @@ -3664,7 +3664,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRoutes): chanInternal, @@ -3785,7 +3785,7 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { chanInternal <- clnt cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal, @@ -3898,7 +3898,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaStats): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, @@ -3968,7 +3968,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaResources): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, @@ -4088,7 +4088,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, @@ -4200,7 +4200,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, @@ -4334,7 +4334,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, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCDRs): chanInternal, @@ -4444,7 +4444,7 @@ func TestBiRPCv1GetCost(t *testing.T) { chanInternal <- clnt cfg := config.NewDefaultCGRConfig() cfg.CacheCfg().Partitions[utils.CacheRPCResponses].Limit = 1 - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, map[string]chan birpc.ClientConnector{ utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRALs): chanInternal, utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes): chanInternal, @@ -4550,7 +4550,7 @@ func TestSyncSessionsSync(t *testing.T) { cfg.CacheCfg().Partitions[utils.CacheClosedSessions] = &config.CacheParamCfg{ Replicate: true, } - data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + data := engine.NewInternalDB(nil, nil, true, false, cfg.DataDbCfg().Items) connMgr := engine.NewConnManager(cfg, nil) dm := engine.NewDataManager(data, cfg.CacheCfg(), connMgr) sessions := NewSessionS(cfg, dm, connMgr)