From b1a5874215eb52c2f1c331b874b36690f83908ce Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Mon, 17 Feb 2025 10:50:56 +0200 Subject: [PATCH] Move config/rsrparser.go to utils package --- accounts/accounts_test.go | 4 +- actions/accounts.go | 2 +- actions/actions_test.go | 8 +- agents/agentreq.go | 2 +- agents/agentreq_test.go | 272 +++++++-------- agents/diamagent_test.go | 36 +- agents/fsevent.go | 2 +- agents/fsevent_test.go | 38 +-- agents/libdiam.go | 2 +- agents/librad_test.go | 4 +- agents/libsip_test.go | 4 +- cmd/cgr-loader/cgr-loader_it_test.go | 2 +- config/cdrscfg.go | 6 +- config/cdrscfg_test.go | 14 +- config/config_it_test.go | 24 +- config/config_test.go | 374 ++++++++++----------- config/configsanity.go | 4 +- config/configsanity_test.go | 58 ++-- config/dnsagentcfg_test.go | 4 +- config/eescfg_test.go | 32 +- config/erscfg.go | 4 +- config/erscfg_test.go | 184 +++++----- config/fctemplate.go | 4 +- config/fctemplate_test.go | 78 ++--- config/fsagentcfg.go | 4 +- config/httpagntcfg_test.go | 30 +- config/libdynamics.go | 48 +-- config/loaderscfg_test.go | 270 +++++++-------- config/multifiles_it_test.go | 20 +- config/radiuscfg_test.go | 8 +- config/reqprocessorcfg.go | 4 +- config/reqprocessorcfg_test.go | 12 +- config/sessionscfg_test.go | 8 +- config/suretaxcfg.go | 64 ++-- config/suretaxcfg_test.go | 192 +++++------ console/parse.go | 3 +- ees/filecsv_test.go | 24 +- ees/filefwv_test.go | 32 +- engine/actionprofile.go | 7 +- engine/actionprofile_test.go | 16 +- engine/attributes.go | 10 +- engine/attributes_test.go | 78 ++--- engine/caches_test.go | 8 +- engine/datamanager.go | 2 +- engine/datamanager_test.go | 28 +- engine/exportrequest_test.go | 28 +- engine/filters.go | 22 +- engine/filters_test.go | 10 +- engine/libattributes.go | 11 +- engine/libattributes_test.go | 26 +- engine/libindex_test.go | 12 +- engine/libroutes_test.go | 7 +- engine/model_helpers.go | 3 +- engine/model_helpers_test.go | 9 +- engine/z_attributes_test.go | 250 +++++++------- engine/z_filterindexer_it_test.go | 8 +- engine/z_filterindexer_test.go | 8 +- engine/z_onstor_it_test.go | 8 +- ers/ers_it_test.go | 6 +- ers/filefwv_it_test.go | 14 +- ers/filexml_it_test.go | 8 +- ers/kafka_test.go | 2 +- ers/libers.go | 4 +- ers/s3_test.go | 2 +- ers/sqs_test.go | 8 +- general_tests/cdrs_processevent_it_test.go | 2 +- general_tests/export_it_test.go | 2 +- general_tests/redis_cluster_it_test.go | 6 +- general_tests/set_rmv_prfl_dlay_it_test.go | 2 +- loaders/libloader_test.go | 60 ++-- loaders/loader_test.go | 20 +- loaders/loaders_test.go | 8 +- migrator/attributes.go | 15 +- migrator/attributes_it_test.go | 26 +- migrator/attributes_test.go | 35 +- migrator/filters.go | 9 +- migrator/filters_it_test.go | 8 +- services/ees_it_test.go | 2 +- services/loaders_it_test.go | 2 +- {config => utils}/rsrparser.go | 104 +++--- {config => utils}/rsrparser_test.go | 258 +++++++------- 81 files changed, 1511 insertions(+), 1524 deletions(-) rename {config => utils}/rsrparser.go (74%) rename {config => utils}/rsrparser_test.go (79%) diff --git a/accounts/accounts_test.go b/accounts/accounts_test.go index 71051d9d2..7e05e7887 100644 --- a/accounts/accounts_test.go +++ b/accounts/accounts_test.go @@ -1462,7 +1462,7 @@ func TestV1DebitAbstractsEventCharges(t *testing.T) { { Path: "*opts.RateSProfile", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1978,7 +1978,7 @@ func TestV1DebitAbstractsEventChargesWithRefundCharges(t *testing.T) { { Path: "*opts.RateSProfile", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ diff --git a/actions/accounts.go b/actions/accounts.go index d49a74386..01bfb7fce 100644 --- a/actions/accounts.go +++ b/actions/accounts.go @@ -58,7 +58,7 @@ func (aL *actSetBalance) execute(ctx *context.Context, data utils.MapStorage, tr APIOpts: aL.cfg().Opts, } for i, actD := range aL.cfg().Diktats { - var rsr config.RSRParsers + var rsr utils.RSRParsers if rsr, err = actD.RSRValues(); err != nil { return } diff --git a/actions/actions_test.go b/actions/actions_test.go index 528de10ca..924d7bb9f 100644 --- a/actions/actions_test.go +++ b/actions/actions_test.go @@ -617,28 +617,28 @@ func TestCDRLogActionWithOpts(t *testing.T) { Tag: "Tenant", Type: "*constant", Path: "*cdr.Tenant", - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Layout: time.RFC3339, }, { Tag: "Opt1", Type: "*constant", Path: "*opts.Option1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), Layout: time.RFC3339, }, { Tag: "Opt2", Type: "*constant", Path: "*opts.Option2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), Layout: time.RFC3339, }, { Tag: "Opt3", Type: "*variable", Path: "*opts.Option3", - Value: config.NewRSRParsersMustCompile("~*opts.EventFieldOpt", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.EventFieldOpt", utils.InfieldSep), Layout: time.RFC3339, }, } diff --git a/agents/agentreq.go b/agents/agentreq.go index 831d88058..d608156f7 100644 --- a/agents/agentreq.go +++ b/agents/agentreq.go @@ -34,7 +34,7 @@ func NewAgentRequest(req utils.DataProvider, vars, cgrRply *utils.DataNode, rply *utils.OrderedNavigableMap, opts utils.MapStorage, - tntTpl config.RSRParsers, + tntTpl utils.RSRParsers, dfltTenant, timezone string, filterS *engine.FilterS, extraDP map[string]utils.DataProvider) (ar *AgentRequest) { diff --git a/agents/agentreq_test.go b/agents/agentreq_test.go index cd893f647..ccd822353 100644 --- a/agents/agentreq_test.go +++ b/agents/agentreq_test.go @@ -68,44 +68,44 @@ func TestAgReqSetFields(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaRep + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaRep + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, {Tag: "Destination", Path: utils.MetaRep + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, {Tag: "RequestedUsageVoice", Path: utils.MetaRep + utils.NestingSep + "RequestedUsage", Type: utils.MetaVariable, Filters: []string{"*string:~*cgreq.ToR:*voice"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgreq.Usage{*duration_seconds}", utils.InfieldSep)}, {Tag: "RequestedUsageData", Path: utils.MetaRep + utils.NestingSep + "RequestedUsage", Type: utils.MetaVariable, Filters: []string{"*string:~*cgreq.ToR:*data"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgreq.Usage{*duration_nanoseconds}", utils.InfieldSep)}, {Tag: "RequestedUsageSMS", Path: utils.MetaRep + utils.NestingSep + "RequestedUsage", Type: utils.MetaVariable, Filters: []string{"*string:~*cgreq.ToR:*sms"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgreq.Usage{*duration_nanoseconds}", utils.InfieldSep)}, {Tag: "AttrPaypalAccount", Path: utils.MetaRep + utils.NestingSep + "PaypalAccount", Type: utils.MetaVariable, Filters: []string{"*empty:~*cgrep.Error:"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgrep.Attributes.PaypalAccount", utils.InfieldSep)}, {Tag: "MaxUsage", Path: utils.MetaRep + utils.NestingSep + "MaxUsage", Type: utils.MetaVariable, Filters: []string{"*empty:~*cgrep.Error:"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgrep.MaxUsage{*duration_seconds}", utils.InfieldSep)}, {Tag: "Error", Path: utils.MetaRep + utils.NestingSep + "Error", Type: utils.MetaVariable, Filters: []string{"*rsr:~*cgrep.Error:!^$"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgrep.Error", utils.InfieldSep)}, } for _, v := range tplFlds { @@ -144,7 +144,7 @@ func TestAgentRequestSetFields(t *testing.T) { dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, cfg.DataDbCfg().Items), config.CgrConfig().CacheCfg(), nil) ar := NewAgentRequest(utils.MapStorage(req), nil, - nil, nil, nil, config.NewRSRParsersMustCompile("", utils.NestingSep), + nil, nil, nil, utils.NewRSRParsersMustCompile("", utils.NestingSep), "cgrates.org", "", engine.NewFilterS(cfg, nil, dm), map[string]utils.DataProvider{utils.MetaHdr: utils.MapStorage(req), utils.MetaTrl: utils.MapStorage(req)}) input := []*config.FCTemplate{} @@ -167,7 +167,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Account", utils.MetaVars), Tag: fmt.Sprintf("%s.Account", utils.MetaVars), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), }, } input[0].ComputePath() @@ -190,7 +190,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Account", utils.MetaCgreq), Tag: fmt.Sprintf("%s.Account", utils.MetaCgreq), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), }, } input[0].ComputePath() @@ -212,7 +212,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Account", utils.MetaCgrep), Tag: fmt.Sprintf("%s.Account", utils.MetaCgrep), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), }, } input[0].ComputePath() @@ -234,7 +234,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Account", utils.MetaRep), Tag: fmt.Sprintf("%s.Account", utils.MetaRep), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), }, } input[0].ComputePath() @@ -256,7 +256,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Account", utils.MetaDiamreq), Tag: fmt.Sprintf("%s.Account", utils.MetaDiamreq), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), }, } input[0].ComputePath() @@ -278,19 +278,19 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.AccountID", utils.MetaVars), Tag: fmt.Sprintf("%s.AccountID", utils.MetaVars), Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Tenant", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Tenant", utils.InfieldSep), }, { Path: fmt.Sprintf("%s.AccountID", utils.MetaVars), Tag: fmt.Sprintf("%s.AccountID", utils.MetaVars), Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile(":", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(":", utils.InfieldSep), }, { Path: fmt.Sprintf("%s.AccountID", utils.MetaVars), Tag: fmt.Sprintf("%s.AccountID", utils.MetaVars), Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), }, } for _, v := range input { @@ -315,7 +315,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Account", utils.MetaVars), Tag: fmt.Sprintf("%s.Account", utils.MetaVars), Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("2020", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("2020", utils.InfieldSep), }, } input[0].ComputePath() @@ -338,7 +338,7 @@ func TestAgentRequestSetFields(t *testing.T) { Tag: fmt.Sprintf("%s.AccountID", utils.MetaVars), Filters: []string{utils.MetaString + ":~" + utils.MetaVars + ".Account:1003"}, Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("2021", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("2021", utils.InfieldSep), }, } input[0].ComputePath() @@ -360,7 +360,7 @@ func TestAgentRequestSetFields(t *testing.T) { Tag: fmt.Sprintf("%s.Account", utils.MetaVars), Filters: []string{"Not really a filter"}, Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("2021", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("2021", utils.InfieldSep), }, } input[0].ComputePath() @@ -374,14 +374,14 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Name", utils.MetaVars), Tag: fmt.Sprintf("%s.Name", utils.MetaVars), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Account", utils.InfieldSep), Blocker: true, }, { Path: fmt.Sprintf("%s.Name", utils.MetaVars), Tag: fmt.Sprintf("%s.Name", utils.MetaVars), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("1005", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1005", utils.InfieldSep), }, } for _, v := range input { @@ -405,7 +405,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Test", utils.MetaVars), Tag: fmt.Sprintf("%s.Test", utils.MetaVars), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Test", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Test", utils.InfieldSep), }, } input[0].ComputePath() @@ -419,7 +419,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Test", utils.MetaVars), Tag: fmt.Sprintf("%s.Test", utils.MetaVars), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaReq+".Test", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaReq+".Test", utils.InfieldSep), Mandatory: true, }, } @@ -434,7 +434,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: "wrong", Tag: "wrong", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account", utils.InfieldSep), Mandatory: true, }, } @@ -449,7 +449,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Account4", utils.MetaVars), Tag: fmt.Sprintf("%s.Account4", utils.MetaVars), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaHdr+".Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaHdr+".Account", utils.InfieldSep), }, } input[0].ComputePath() @@ -470,7 +470,7 @@ func TestAgentRequestSetFields(t *testing.T) { Path: fmt.Sprintf("%s.Account5", utils.MetaVars), Tag: fmt.Sprintf("%s.Account5", utils.MetaVars), Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~"+utils.MetaTrl+".Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~"+utils.MetaTrl+".Account", utils.InfieldSep), }, } input[0].ComputePath() @@ -504,7 +504,7 @@ func TestAgReqMaxCost(t *testing.T) { {Tag: "MaxUsage", Path: utils.MetaRep + utils.NestingSep + "MaxUsage", Type: utils.MetaVariable, Filters: []string{"*rsr:~*cgrep.MaxUsage:>0s"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgrep.MaxUsage{*duration_seconds}", utils.InfieldSep)}, } tplFlds[0].ComputePath() @@ -544,15 +544,15 @@ func TestAgReqParseFieldDiameter(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "MandatoryFalse", Path: "MandatoryFalse", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.MandatoryFalse", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.MandatoryFalse", utils.InfieldSep), Mandatory: false}, {Tag: "MandatoryTrue", Path: "MandatoryTrue", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.MandatoryTrue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.MandatoryTrue", utils.InfieldSep), Mandatory: true}, {Tag: "Session-Id", Filters: []string{}, Path: "Session-Id", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } for _, v := range tplFlds { @@ -596,11 +596,11 @@ func TestAgReqParseFieldRadius(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "MandatoryFalse", Path: "MandatoryFalse", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.MandatoryFalse", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.MandatoryFalse", utils.InfieldSep), Mandatory: false}, {Tag: "MandatoryTrue", Path: "MandatoryTrue", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.MandatoryTrue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.MandatoryTrue", utils.InfieldSep), Mandatory: true}, } for _, v := range tplFlds { @@ -639,11 +639,11 @@ Host: api.cgrates.org tplFlds := []*config.FCTemplate{ {Tag: "MandatoryFalse", Path: "MandatoryFalse", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.MandatoryFalse", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.MandatoryFalse", utils.InfieldSep), Mandatory: false}, {Tag: "MandatoryTrue", Path: "MandatoryTrue", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.MandatoryTrue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.MandatoryTrue", utils.InfieldSep), Mandatory: true}, } expected := "" @@ -711,11 +711,11 @@ func TestAgReqParseFieldHttpXml(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "MandatoryFalse", Path: "MandatoryFalse", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.MandatoryFalse", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.MandatoryFalse", utils.InfieldSep), Mandatory: false}, {Tag: "MandatoryTrue", Path: "MandatoryTrue", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.MandatoryTrue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.MandatoryTrue", utils.InfieldSep), Mandatory: true}, } expected := "" @@ -744,14 +744,14 @@ func TestAgReqEmptyFilter(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Filters: []string{}, Path: utils.MetaCgrep + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Filters: []string{}, Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, {Tag: "Destination", Filters: []string{}, Path: utils.MetaCgrep + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -783,7 +783,7 @@ func TestAgReqMetaExponent(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "TestExpo", Filters: []string{}, Path: utils.MetaCgrep + utils.NestingSep + "TestExpo", Type: utils.MetaValueExponent, - Value: config.NewRSRParsersMustCompile("~*cgreq.Value;~*cgreq.Exponent", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Value;~*cgreq.Exponent", utils.InfieldSep)}, } tplFlds[0].ComputePath() eMp := &utils.DataNode{Type: utils.NMMapType, Map: map[string]*utils.DataNode{}} @@ -811,14 +811,14 @@ func TestAgReqFieldAsNone(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaCgrep + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, {Type: utils.MetaNone, Blocker: true}, {Tag: "Destination", Path: utils.MetaCgrep + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -849,14 +849,14 @@ func TestAgReqFieldAsNone2(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaCgrep + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, {Type: utils.MetaNone}, {Tag: "Destination", Path: utils.MetaCgrep + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -894,19 +894,19 @@ func TestAgReqSetField2(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaCgrep + utils.NestingSep + utils.Tenant, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, {Tag: "Destination", Path: utils.MetaCgrep + utils.NestingSep + utils.Destination, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, {Tag: "Usage", Path: utils.MetaCgrep + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("30s", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("30s", utils.InfieldSep)}, {Tag: "CalculatedUsage", Path: utils.MetaCgrep + utils.NestingSep + "CalculatedUsage", - Type: "*difference", Value: config.NewRSRParsersMustCompile("~*cgreq.AnswerTime;~*cgrep.Usage", utils.InfieldSep), + Type: "*difference", Value: utils.NewRSRParsersMustCompile("~*cgreq.AnswerTime;~*cgrep.Usage", utils.InfieldSep), }, } for _, v := range tplFlds { @@ -1252,10 +1252,10 @@ func TestAgReqNewARWithCGRRplyAndRply(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Fld1", Path: utils.MetaCgreq + utils.NestingSep + "Fld1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*rep.FirstLevel.SecondLevel.Fld1", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*rep.FirstLevel.SecondLevel.Fld1", utils.InfieldSep)}, {Tag: "Fld2", Path: utils.MetaCgreq + utils.NestingSep + "Fld2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgrep.Attributes.PaypalAccount", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgrep.Attributes.PaypalAccount", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -1291,10 +1291,10 @@ func TestAgReqSetCGRReplyWithError(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Fld1", Path: utils.MetaCgreq + utils.NestingSep + "Fld1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*rep.FirstLevel.SecondLevel.Fld1", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*rep.FirstLevel.SecondLevel.Fld1", utils.InfieldSep)}, {Tag: "Fld2", Path: utils.MetaCgreq + utils.NestingSep + "Fld2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgrep.Attributes.PaypalAccount", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*cgrep.Attributes.PaypalAccount", utils.InfieldSep), Mandatory: true}, } for _, v := range tplFlds { @@ -1339,10 +1339,10 @@ func TestAgReqSetCGRReplyWithoutError(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Fld1", Path: utils.MetaCgreq + utils.NestingSep + "Fld1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*rep.FirstLevel.SecondLevel.Fld1", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*rep.FirstLevel.SecondLevel.Fld1", utils.InfieldSep)}, {Tag: "Fld2", Path: utils.MetaCgreq + utils.NestingSep + "Fld2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgrep.Attributes.PaypalAccount", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgrep.Attributes.PaypalAccount", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -1384,7 +1384,7 @@ func TestAgReqParseFieldMetaCCUsage(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "CCUsage", Filters: []string{}, Path: "CCUsage", Type: utils.MetaCCUsage, - Value: config.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } tplFlds[0].ComputePath() @@ -1397,7 +1397,7 @@ func TestAgReqParseFieldMetaCCUsage(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "CCUsage", Filters: []string{}, Path: "CCUsage", Type: utils.MetaCCUsage, - Value: config.NewRSRParsersMustCompile("~*req.Session-Id;12s;12s", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id;12s;12s", utils.InfieldSep), Mandatory: true}, } tplFlds[0].ComputePath() @@ -1409,7 +1409,7 @@ func TestAgReqParseFieldMetaCCUsage(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "CCUsage", Filters: []string{}, Path: "CCUsage", Type: utils.MetaCCUsage, - Value: config.NewRSRParsersMustCompile("10;~*req.Session-Id;12s", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10;~*req.Session-Id;12s", utils.InfieldSep), Mandatory: true}, } tplFlds[0].ComputePath() @@ -1421,7 +1421,7 @@ func TestAgReqParseFieldMetaCCUsage(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "CCUsage", Filters: []string{}, Path: "CCUsage", Type: utils.MetaCCUsage, - Value: config.NewRSRParsersMustCompile("10;12s;~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10;12s;~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } tplFlds[0].ComputePath() @@ -1433,7 +1433,7 @@ func TestAgReqParseFieldMetaCCUsage(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "CCUsage", Filters: []string{}, Path: "CCUsage", Type: utils.MetaCCUsage, - Value: config.NewRSRParsersMustCompile("3;10s;5s", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("3;10s;5s", utils.InfieldSep), Mandatory: true}, } tplFlds[0].ComputePath() @@ -1468,7 +1468,7 @@ func TestAgReqParseFieldMetaUsageDifference(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Usage", Filters: []string{}, Path: "Usage", Type: utils.MetaUsageDifference, - Value: config.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1479,7 +1479,7 @@ func TestAgReqParseFieldMetaUsageDifference(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "Usage", Filters: []string{}, Path: "Usage", Type: utils.MetaUsageDifference, - Value: config.NewRSRParsersMustCompile("1560325161;~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1560325161;~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1490,7 +1490,7 @@ func TestAgReqParseFieldMetaUsageDifference(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "Usage", Filters: []string{}, Path: "Usage", Type: utils.MetaUsageDifference, - Value: config.NewRSRParsersMustCompile("~*req.Session-Id;1560325161", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id;1560325161", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1501,7 +1501,7 @@ func TestAgReqParseFieldMetaUsageDifference(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "Usage", Filters: []string{}, Path: "Usage", Type: utils.MetaUsageDifference, - Value: config.NewRSRParsersMustCompile("1560325161;1560325151", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1560325161;1560325151", utils.InfieldSep), Mandatory: true}, } expected := "10s" @@ -1534,7 +1534,7 @@ func TestAgReqParseFieldMetaSum(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Sum", Filters: []string{}, Path: "Sum", Type: utils.MetaSum, - Value: config.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1545,7 +1545,7 @@ func TestAgReqParseFieldMetaSum(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "Sum", Filters: []string{}, Path: "Sum", Type: utils.MetaSum, - Value: config.NewRSRParsersMustCompile("15;15", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("15;15", utils.InfieldSep), Mandatory: true}, } expected := int64(30) @@ -1578,7 +1578,7 @@ func TestAgReqParseFieldMetaDifference(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Diff", Filters: []string{}, Path: "Diff", Type: utils.MetaDifference, - Value: config.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1589,7 +1589,7 @@ func TestAgReqParseFieldMetaDifference(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "Diff", Filters: []string{}, Path: "Diff", Type: utils.MetaDifference, - Value: config.NewRSRParsersMustCompile("15;12;2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("15;12;2", utils.InfieldSep), Mandatory: true}, } expected := int64(1) @@ -1622,7 +1622,7 @@ func TestAgReqParseFieldMetaMultiply(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Multiply", Filters: []string{}, Path: "Multiply", Type: utils.MetaMultiply, - Value: config.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1633,7 +1633,7 @@ func TestAgReqParseFieldMetaMultiply(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "Multiply", Filters: []string{}, Path: "Multiply", Type: utils.MetaMultiply, - Value: config.NewRSRParsersMustCompile("15;15", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("15;15", utils.InfieldSep), Mandatory: true}, } expected := int64(225) @@ -1666,7 +1666,7 @@ func TestAgReqParseFieldMetaDivide(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Divide", Filters: []string{}, Path: "Divide", Type: utils.MetaDivide, - Value: config.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1677,7 +1677,7 @@ func TestAgReqParseFieldMetaDivide(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "Divide", Filters: []string{}, Path: "Divide", Type: utils.MetaDivide, - Value: config.NewRSRParsersMustCompile("15;3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("15;3", utils.InfieldSep), Mandatory: true}, } expected := int64(5) @@ -1710,7 +1710,7 @@ func TestAgReqParseFieldMetaValueExponent(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "ValExp", Filters: []string{}, Path: "ValExp", Type: utils.MetaValueExponent, - Value: config.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1721,7 +1721,7 @@ func TestAgReqParseFieldMetaValueExponent(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "ValExp", Filters: []string{}, Path: "ValExp", Type: utils.MetaValueExponent, - Value: config.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("15;~*req.Session-Id", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1732,7 +1732,7 @@ func TestAgReqParseFieldMetaValueExponent(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "ValExp", Filters: []string{}, Path: "ValExp", Type: utils.MetaValueExponent, - Value: config.NewRSRParsersMustCompile("~*req.Session-Id;15", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id;15", utils.InfieldSep), Mandatory: true}, } if _, err := agReq.ParseField(tplFlds[0]); err == nil || @@ -1742,7 +1742,7 @@ func TestAgReqParseFieldMetaValueExponent(t *testing.T) { tplFlds = []*config.FCTemplate{ {Tag: "ValExp", Filters: []string{}, Path: "ValExp", Type: utils.MetaValueExponent, - Value: config.NewRSRParsersMustCompile("2;3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("2;3", utils.InfieldSep), Mandatory: true}, } expected := "2000" @@ -1772,19 +1772,19 @@ func TestAgReqOverwrite(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile(":", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile(":", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("OverwrittenAccount", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("OverwrittenAccount", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("WithComposed", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("WithComposed", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -1824,10 +1824,10 @@ func TestAgReqGroupType(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaGroup, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaGroup, - Value: config.NewRSRParsersMustCompile("test", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("test", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -1860,10 +1860,10 @@ func TestAgReqSetFieldsInTmp(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaTmp + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaTmp + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -1892,7 +1892,7 @@ func TestAgReqSetFieldsIp2Hex(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "IP", Path: utils.MetaTmp + utils.NestingSep + "IP", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.IP{*ip2hex}", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.IP{*ip2hex}", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -1919,7 +1919,7 @@ func TestAgReqSetFieldsString2Hex(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "CustomField", Path: utils.MetaTmp + utils.NestingSep + "CustomField", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.CustomField{*string2hex}", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.CustomField{*string2hex}", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -1962,44 +1962,44 @@ func TestAgReqSetFieldsWithRemove(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaRep + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaRep + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, {Tag: "Destination", Path: utils.MetaRep + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, {Tag: "RequestedUsageVoice", Path: utils.MetaRep + utils.NestingSep + "RequestedUsage", Type: utils.MetaVariable, Filters: []string{"*string:~*cgreq.ToR:*voice"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgreq.Usage{*duration_seconds}", utils.InfieldSep)}, {Tag: "RequestedUsageData", Path: utils.MetaRep + utils.NestingSep + "RequestedUsage", Type: utils.MetaVariable, Filters: []string{"*string:~*cgreq.ToR:*data"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgreq.Usage{*duration_nanoseconds}", utils.InfieldSep)}, {Tag: "RequestedUsageSMS", Path: utils.MetaRep + utils.NestingSep + "RequestedUsage", Type: utils.MetaVariable, Filters: []string{"*string:~*cgreq.ToR:*sms"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgreq.Usage{*duration_nanoseconds}", utils.InfieldSep)}, {Tag: "AttrPaypalAccount", Path: utils.MetaRep + utils.NestingSep + "PaypalAccount", Type: utils.MetaVariable, Filters: []string{"*empty:~*cgrep.Error:"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgrep.Attributes.PaypalAccount", utils.InfieldSep)}, {Tag: "MaxUsage", Path: utils.MetaRep + utils.NestingSep + "MaxUsage", Type: utils.MetaVariable, Filters: []string{"*empty:~*cgrep.Error:"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgrep.MaxUsage{*duration_seconds}", utils.InfieldSep)}, {Tag: "Error", Path: utils.MetaRep + utils.NestingSep + "Error", Type: utils.MetaVariable, Filters: []string{"*rsr:~*cgrep.Error:!^$"}, - Value: config.NewRSRParsersMustCompile( + Value: utils.NewRSRParsersMustCompile( "~*cgrep.Error", utils.InfieldSep)}, } for _, v := range tplFlds { @@ -2075,10 +2075,10 @@ func TestAgReqSetFieldsInCache(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaUCH + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaUCH + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -2119,10 +2119,10 @@ func TestAgReqSetFieldsInCacheWithTimeOut(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaUCH + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaUCH + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -2240,12 +2240,12 @@ func TestAgReqFiltersInsideField(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Usage", Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaCCUsage, - Value: config.NewRSRParsersMustCompile("~*req.CC-Request-Number;~*req.Used-Service-Unit.CC-Time:s/(.*)/${1}s/;5m", + Value: utils.NewRSRParsersMustCompile("~*req.CC-Request-Number;~*req.Used-Service-Unit.CC-Time:s/(.*)/${1}s/;5m", utils.InfieldSep)}, {Tag: "AnswerTime", Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaDifference, Filters: []string{"*gt:~*cgreq.Usage:0s"}, // populate answer time if usage is greater than zero - Value: config.NewRSRParsersMustCompile("~*req.Event-Timestamp;~*cgreq.Usage", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*req.Event-Timestamp;~*cgreq.Usage", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -2278,30 +2278,30 @@ func TestAgReqDynamicPath(t *testing.T) { agReq.CGRRequest.Set(&utils.FullPath{Path: "BestRoute", PathSlice: []string{"BestRoute"}}, utils.NewLeafNode("ROUTE1")) agReq.CGRReply = &utils.DataNode{Type: utils.NMMapType, Map: map[string]*utils.DataNode{}} - val1, err := config.NewRSRParsersFromSlice([]string{"~*cgreq.Routes."}) + val1, err := utils.NewRSRParsersFromSlice([]string{"~*cgreq.Routes."}) if err != nil { t.Error(err) } tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaCgrep + utils.NestingSep + utils.Tenant, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, {Tag: "Destination", Path: utils.MetaCgrep + utils.NestingSep + utils.Destination, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Destination", utils.InfieldSep)}, {Tag: "Usage", Path: utils.MetaCgrep + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("30s", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("30s", utils.InfieldSep)}, {Tag: "Route", Path: utils.MetaCgrep + utils.NestingSep + "Route", Type: utils.MetaVariable, Value: val1, }, {Tag: "Route2", Path: utils.MetaCgrep + utils.NestingSep + "Route2.", - Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*cgreq.Routes[CGR_ROUTE2]", utils.InfieldSep), + Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*cgreq.Routes[CGR_ROUTE2]", utils.InfieldSep), }, } for _, v := range tplFlds { @@ -2348,7 +2348,7 @@ func TestAgReqRoundingDecimals(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "Cost", Path: utils.MetaCgrep + utils.NestingSep + utils.Cost, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*cgreq.Cost{*round:3}", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Cost{*round:3}", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -2388,13 +2388,13 @@ func BenchmarkAgReqSetField(b *testing.B) { tplFlds := []*config.FCTemplate{ {Tag: "Tenant", Path: utils.MetaCgrep + utils.NestingSep + utils.Tenant, Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, {Tag: "Account", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField + "[0].ID", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgreq.Account", utils.InfieldSep)}, {Tag: "Account2", Path: utils.MetaCgrep + utils.NestingSep + utils.AccountField + "[1].ID", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("1003", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("1003", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -2455,7 +2455,7 @@ func TestAgReqSetFieldsFromCfg(t *testing.T) { tplFlds := []*config.FCTemplate{ {Tag: "CfgField", Path: utils.MetaCgreq + utils.NestingSep + "NodeID", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cfg.general.node_id", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cfg.general.node_id", utils.InfieldSep)}, } for _, v := range tplFlds { v.ComputePath() @@ -2503,11 +2503,11 @@ func TestFieldAsInterface(t *testing.T) { } func TestAgentRequestParseFieldDateTimeDaily(t *testing.T) { - tntTpl := config.NewRSRParsersMustCompile("*daily", utils.InfieldSep) + tntTpl := utils.NewRSRParsersMustCompile("*daily", utils.InfieldSep) AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*daily", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*daily", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "", } @@ -2532,10 +2532,10 @@ func TestAgentRequestParseFieldDateTimeDaily(t *testing.T) { } func TestAgentRequestParseFieldDateTimeTimeZone(t *testing.T) { - tntTpl := config.NewRSRParsersMustCompile("*daily", utils.InfieldSep) + tntTpl := utils.NewRSRParsersMustCompile("*daily", utils.InfieldSep) AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil) fctTemp := &config.FCTemplate{Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*daily", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*daily", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -2560,10 +2560,10 @@ func TestAgentRequestParseFieldDateTimeTimeZone(t *testing.T) { } func TestAgentRequestParseFieldDateTimeMonthly(t *testing.T) { - tntTpl := config.NewRSRParsersMustCompile("*monthly", utils.InfieldSep) + tntTpl := utils.NewRSRParsersMustCompile("*monthly", utils.InfieldSep) AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil) fctTemp := &config.FCTemplate{Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*monthly", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*monthly", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -2588,10 +2588,10 @@ func TestAgentRequestParseFieldDateTimeMonthly(t *testing.T) { } func TestAgentRequestParseFieldDateTimeMonthlyEstimated(t *testing.T) { - tntTpl := config.NewRSRParsersMustCompile("*monthly_estimated", utils.InfieldSep) + tntTpl := utils.NewRSRParsersMustCompile("*monthly_estimated", utils.InfieldSep) AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil) fctTemp := &config.FCTemplate{Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*monthly_estimated", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*monthly_estimated", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -2616,10 +2616,10 @@ func TestAgentRequestParseFieldDateTimeMonthlyEstimated(t *testing.T) { } func TestAgentRequestParseFieldDateTimeYearly(t *testing.T) { - tntTpl := config.NewRSRParsersMustCompile("*yearly", utils.InfieldSep) + tntTpl := utils.NewRSRParsersMustCompile("*yearly", utils.InfieldSep) AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil) fctTemp := &config.FCTemplate{Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*yearly", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*yearly", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -2644,10 +2644,10 @@ func TestAgentRequestParseFieldDateTimeYearly(t *testing.T) { } func TestAgentRequestParseFieldDateTimeMetaUnlimited(t *testing.T) { - tntTpl := config.NewRSRParsersMustCompile(utils.MetaUnlimited, utils.InfieldSep) + tntTpl := utils.NewRSRParsersMustCompile(utils.MetaUnlimited, utils.InfieldSep) AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil) fctTemp := &config.FCTemplate{Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile(utils.MetaUnlimited, utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(utils.MetaUnlimited, utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -2672,10 +2672,10 @@ func TestAgentRequestParseFieldDateTimeMetaUnlimited(t *testing.T) { } func TestAgentRequestParseFieldDateTimeEmpty(t *testing.T) { - tntTpl := config.NewRSRParsersMustCompile("", utils.InfieldSep) + tntTpl := utils.NewRSRParsersMustCompile("", utils.InfieldSep) AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil) fctTemp := &config.FCTemplate{Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -2700,10 +2700,10 @@ func TestAgentRequestParseFieldDateTimeEmpty(t *testing.T) { } func TestAgentRequestParseFieldDateTimeMonthEnd(t *testing.T) { - tntTpl := config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep) + tntTpl := utils.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep) AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil) fctTemp := &config.FCTemplate{Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -2728,10 +2728,10 @@ func TestAgentRequestParseFieldDateTimeMonthEnd(t *testing.T) { } func TestAgentRequestParseFieldDateTimeError(t *testing.T) { - tntTpl := config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep) + tntTpl := utils.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep) AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil) fctTemp := &config.FCTemplate{Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "/", } @@ -2744,7 +2744,7 @@ func TestAgentRequestParseFieldDateTimeError(t *testing.T) { } func TestAgentRequestParseFieldDateTimeError2(t *testing.T) { - prsr, err := config.NewRSRParsersFromSlice([]string{"2.", "~*opts.*originID<~*opts.Converter>"}) + prsr, err := utils.NewRSRParsersFromSlice([]string{"2.", "~*opts.*originID<~*opts.Converter>"}) if err != nil { t.Fatal(err) } diff --git a/agents/diamagent_test.go b/agents/diamagent_test.go index f5edfe5ad..3692afe5e 100644 --- a/agents/diamagent_test.go +++ b/agents/diamagent_test.go @@ -69,38 +69,38 @@ func TestProcessRequest(t *testing.T) { } reqProcessor := &config.RequestProcessor{ ID: "Default", - Tenant: config.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Filters: []string{}, RequestFields: []*config.FCTemplate{ {Tag: utils.ToR, Type: utils.MetaConstant, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, - Value: config.NewRSRParsersMustCompile(utils.MetaVoice, utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile(utils.MetaVoice, utils.InfieldSep)}, {Tag: utils.OriginID, Type: utils.MetaComposed, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, - Value: config.NewRSRParsersMustCompile("~*req.SessionId", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.SessionId", utils.InfieldSep), Mandatory: true}, {Tag: utils.OriginHost, Type: utils.MetaVariable, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginHost, - Value: config.NewRSRParsersMustCompile("~*vars.RemoteHost", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*vars.RemoteHost", utils.InfieldSep), Mandatory: true}, {Tag: utils.Category, Type: utils.MetaConstant, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, - Value: config.NewRSRParsersMustCompile(utils.Call, utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile(utils.Call, utils.InfieldSep)}, {Tag: utils.AccountField, Type: utils.MetaComposed, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, - Value: config.NewRSRParsersMustCompile("~*req.Account", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Account", utils.InfieldSep), Mandatory: true}, {Tag: utils.Destination, Type: utils.MetaComposed, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, - Value: config.NewRSRParsersMustCompile("~*req.Destination", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Destination", utils.InfieldSep), Mandatory: true}, {Tag: utils.Usage, Type: utils.MetaComposed, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, - Value: config.NewRSRParsersMustCompile("~*req.Usage", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Usage", utils.InfieldSep), Mandatory: true}, }, ReplyFields: []*config.FCTemplate{ {Tag: "ResultCode", Type: utils.MetaConstant, Path: utils.MetaRep + utils.NestingSep + "ResultCode", - Value: config.NewRSRParsersMustCompile("2001", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("2001", utils.InfieldSep)}, {Tag: "GrantedUnits", Type: utils.MetaVariable, Path: utils.MetaRep + utils.NestingSep + "Granted-Service-Unit.CC-Time", - Value: config.NewRSRParsersMustCompile("~*cgrep.MaxUsage{*duration_seconds}", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*cgrep.MaxUsage{*duration_seconds}", utils.InfieldSep), Mandatory: true}, }, } @@ -466,9 +466,9 @@ func TestProcessRequest(t *testing.T) { tmpls := []*config.FCTemplate{ {Type: utils.MetaConstant, Path: utils.MetaOpts + utils.NestingSep + utils.OptsSesInitiate, - Value: config.NewRSRParsersMustCompile("true", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("true", utils.InfieldSep)}, {Type: utils.MetaConstant, Path: utils.MetaOpts + utils.NestingSep + utils.MetaAttributes, - Value: config.NewRSRParsersMustCompile("true", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("true", utils.InfieldSep)}, } for _, v := range tmpls { v.ComputePath() @@ -495,9 +495,9 @@ func TestProcessRequest(t *testing.T) { tmpls = []*config.FCTemplate{ {Type: utils.MetaConstant, Path: utils.MetaOpts + utils.NestingSep + utils.OptsSesUpdate, - Value: config.NewRSRParsersMustCompile("true", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("true", utils.InfieldSep)}, {Type: utils.MetaConstant, Path: utils.MetaOpts + utils.NestingSep + utils.MetaAttributes, - Value: config.NewRSRParsersMustCompile("true", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("true", utils.InfieldSep)}, } for _, v := range tmpls { v.ComputePath() @@ -522,14 +522,14 @@ func TestProcessRequest(t *testing.T) { reqProcessor.Flags = utils.FlagsWithParamsFromSlice([]string{utils.MetaTerminate, utils.MetaAccounts, utils.MetaAttributes, utils.MetaCDRs}) tmpls = []*config.FCTemplate{ {Type: utils.MetaConstant, Path: utils.MetaOpts + utils.NestingSep + utils.OptsSesTerminate, - Value: config.NewRSRParsersMustCompile("true", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("true", utils.InfieldSep)}, } for _, v := range tmpls { v.ComputePath() } reqProcessor.ReplyFields = []*config.FCTemplate{{Tag: "ResultCode", Type: utils.MetaConstant, Path: utils.MetaRep + utils.NestingSep + "ResultCode", - Value: config.NewRSRParsersMustCompile("2001", utils.InfieldSep)}} + Value: utils.NewRSRParsersMustCompile("2001", utils.InfieldSep)}} for _, v := range reqProcessor.ReplyFields { v.ComputePath() } @@ -554,9 +554,9 @@ func TestProcessRequest(t *testing.T) { reqProcessor.Flags = utils.FlagsWithParamsFromSlice([]string{utils.MetaMessage, utils.MetaAccounts, utils.MetaAttributes}) tmpls = []*config.FCTemplate{ {Type: utils.MetaConstant, Path: utils.MetaOpts + utils.NestingSep + utils.OptsSesMessage, - Value: config.NewRSRParsersMustCompile("true", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("true", utils.InfieldSep)}, {Type: utils.MetaConstant, Path: utils.MetaOpts + utils.NestingSep + utils.MetaAttributes, - Value: config.NewRSRParsersMustCompile("true", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("true", utils.InfieldSep)}, } for _, v := range tmpls { v.ComputePath() diff --git a/agents/fsevent.go b/agents/fsevent.go index 536d8be21..b4cc88680 100644 --- a/agents/fsevent.go +++ b/agents/fsevent.go @@ -304,7 +304,7 @@ func (fsev FSEvent) GetExtraFields() map[string]string { } // Used in derived charging and sittuations when we need to run regexp on fields -func (fsev FSEvent) ParseEventValue(attrName string, rsrFld *config.RSRParser, timezone string) (parsed string, err error) { +func (fsev FSEvent) ParseEventValue(attrName string, rsrFld *utils.RSRParser, timezone string) (parsed string, err error) { switch attrName { case utils.ToR: return rsrFld.ParseValue(utils.MetaVoice) diff --git a/agents/fsevent_test.go b/agents/fsevent_test.go index a2ba0a78f..2f6fc7dff 100644 --- a/agents/fsevent_test.go +++ b/agents/fsevent_test.go @@ -490,60 +490,60 @@ func TestParseEventValue(t *testing.T) { cfg := config.NewDefaultCGRConfig() config.SetCgrConfig(cfg) ev := NewFSEvent(hangupEv) - if tor, _ := ev.ParseEventValue(utils.ToR, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.ToR), ""); tor != utils.MetaVoice { + if tor, _ := ev.ParseEventValue(utils.ToR, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.ToR), ""); tor != utils.MetaVoice { t.Errorf("Unexpected tor parsed %q", tor) } - if accid, _ := ev.ParseEventValue(utils.OriginID, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.OriginID), ""); accid != "e3133bf7-dcde-4daf-9663-9a79ffcef5ad" { + if accid, _ := ev.ParseEventValue(utils.OriginID, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.OriginID), ""); accid != "e3133bf7-dcde-4daf-9663-9a79ffcef5ad" { t.Error("Unexpected result parsed", accid) } - if parsed, _ := ev.ParseEventValue(utils.OriginHost, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.OriginHost), ""); parsed != "10.0.3.15" { + if parsed, _ := ev.ParseEventValue(utils.OriginHost, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.OriginHost), ""); parsed != "10.0.3.15" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.Source, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Source), ""); parsed != "FS_EVENT" { + if parsed, _ := ev.ParseEventValue(utils.Source, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Source), ""); parsed != "FS_EVENT" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.RequestType, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.RequestType), ""); parsed != utils.MetaPrepaid { + if parsed, _ := ev.ParseEventValue(utils.RequestType, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.RequestType), ""); parsed != utils.MetaPrepaid { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.Tenant, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Tenant), ""); parsed != "cgrates.org" { + if parsed, _ := ev.ParseEventValue(utils.Tenant, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Tenant), ""); parsed != "cgrates.org" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.Category, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Category), ""); parsed != "call" { + if parsed, _ := ev.ParseEventValue(utils.Category, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Category), ""); parsed != "call" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.AccountField, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.AccountField), ""); parsed != "1001" { + if parsed, _ := ev.ParseEventValue(utils.AccountField, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.AccountField), ""); parsed != "1001" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.Subject, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Subject), ""); parsed != "1001" { + if parsed, _ := ev.ParseEventValue(utils.Subject, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Subject), ""); parsed != "1001" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.Destination, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Destination), ""); parsed != "1003" { + if parsed, _ := ev.ParseEventValue(utils.Destination, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Destination), ""); parsed != "1003" { t.Error("Unexpected result parsed", parsed) } sTime, _ := utils.ParseTimeDetectLayout("1436280728471153"[:len("1436280728471153")-6], "") // We discard nanoseconds information so we can correlate csv - if parsed, _ := ev.ParseEventValue(utils.SetupTime, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.SetupTime), ""); parsed != sTime.String() { + if parsed, _ := ev.ParseEventValue(utils.SetupTime, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.SetupTime), ""); parsed != sTime.String() { t.Errorf("Expecting: %s, parsed: %s", sTime.String(), parsed) } aTime, _ := utils.ParseTimeDetectLayout("1436280728971147"[:len("1436280728971147")-6], "") - if parsed, _ := ev.ParseEventValue(utils.AnswerTime, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.AnswerTime), ""); parsed != aTime.String() { + if parsed, _ := ev.ParseEventValue(utils.AnswerTime, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.AnswerTime), ""); parsed != aTime.String() { t.Errorf("Expecting: %s, parsed: %s", aTime.String(), parsed) } - if parsed, _ := ev.ParseEventValue(utils.Usage, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Usage), ""); parsed != "66000000000" { + if parsed, _ := ev.ParseEventValue(utils.Usage, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Usage), ""); parsed != "66000000000" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.PDD, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.PDD), ""); parsed != "0.028" { + if parsed, _ := ev.ParseEventValue(utils.PDD, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.PDD), ""); parsed != "0.028" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.Route, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Route), ""); parsed != "supplier1" { + if parsed, _ := ev.ParseEventValue(utils.Route, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Route), ""); parsed != "supplier1" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.RunID, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.RunID), ""); parsed != utils.MetaDefault { + if parsed, _ := ev.ParseEventValue(utils.RunID, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.RunID), ""); parsed != utils.MetaDefault { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue(utils.Cost, config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Cost), ""); parsed != "-1" { + if parsed, _ := ev.ParseEventValue(utils.Cost, utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+utils.Cost), ""); parsed != "-1" { t.Error("Unexpected result parsed", parsed) } - if parsed, _ := ev.ParseEventValue("Hangup-Cause", config.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+"Hangup-Cause"), ""); parsed != "NORMAL_CLEARING" { + if parsed, _ := ev.ParseEventValue("Hangup-Cause", utils.NewRSRParserMustCompile(utils.MetaDynReq+utils.NestingSep+"Hangup-Cause"), ""); parsed != "NORMAL_CLEARING" { t.Error("Unexpected result parsed", parsed) } } @@ -597,7 +597,7 @@ func TestFsEvGetExtraFields(t *testing.T) { cfg := config.NewDefaultCGRConfig() var err error err = nil - cfg.FsAgentCfg().ExtraFields, err = config.NewRSRParsersFromSlice([]string{ + cfg.FsAgentCfg().ExtraFields, err = utils.NewRSRParsersFromSlice([]string{ "~*req.Channel-Read-Codec-Name", "~*req.Channel-Write-Codec-Name", "~*req.NonExistingHeader", diff --git a/agents/libdiam.go b/agents/libdiam.go index cd0aac1e3..169f5939e 100644 --- a/agents/libdiam.go +++ b/agents/libdiam.go @@ -368,7 +368,7 @@ func (dP *diameterDP) FieldAsInterface(fldPath []string) (data any, err error) { slctrStr = slctrStr[:fltrStart] // Take the filter part out before compiling further } - slctr, err := config.NewRSRParser(slctrStr) + slctr, err := utils.NewRSRParser(slctrStr) if err != nil { return nil, err } diff --git a/agents/librad_test.go b/agents/librad_test.go index c56d8c2ab..0f6c1e2e5 100644 --- a/agents/librad_test.go +++ b/agents/librad_test.go @@ -81,10 +81,10 @@ func TestRadReplyAppendAttributes(t *testing.T) { rplyFlds := []*config.FCTemplate{ {Tag: "ReplyCode", Path: utils.MetaRep + utils.NestingSep + MetaRadReplyCode, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgrep.Attributes.RadReply", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgrep.Attributes.RadReply", utils.InfieldSep)}, {Tag: "Acct-Session-Time", Path: utils.MetaRep + utils.NestingSep + "Acct-Session-Time", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgrep.MaxUsage{*duration_seconds}", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgrep.MaxUsage{*duration_seconds}", utils.InfieldSep)}, } for _, v := range rplyFlds { v.ComputePath() diff --git a/agents/libsip_test.go b/agents/libsip_test.go index 98af5def9..5d4457a09 100644 --- a/agents/libsip_test.go +++ b/agents/libsip_test.go @@ -33,10 +33,10 @@ func TestUpdateSIPMsgFromNavMap(t *testing.T) { rplyFlds := []*config.FCTemplate{ {Tag: "Request", Path: utils.MetaRep + utils.NestingSep + "Request", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgrep.Attributes.Request", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgrep.Attributes.Request", utils.InfieldSep)}, {Tag: "Contact", Path: utils.MetaRep + utils.NestingSep + "Contact", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*cgrep.Attributes.Account", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("~*cgrep.Attributes.Account", utils.InfieldSep)}, } for _, v := range rplyFlds { v.ComputePath() diff --git a/cmd/cgr-loader/cgr-loader_it_test.go b/cmd/cgr-loader/cgr-loader_it_test.go index 65b26f0a4..aee81882f 100644 --- a/cmd/cgr-loader/cgr-loader_it_test.go +++ b/cmd/cgr-loader/cgr-loader_it_test.go @@ -272,7 +272,7 @@ func testLoadItCheckAttributes(t *testing.T) { FilterIDs: []string{}, Path: utils.MetaReq + utils.NestingSep + "Password", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ diff --git a/config/cdrscfg.go b/config/cdrscfg.go index c005917f1..c8ad87a71 100644 --- a/config/cdrscfg.go +++ b/config/cdrscfg.go @@ -53,8 +53,8 @@ type CdrsOpts struct { // CdrsCfg is the CDR server type CdrsCfg struct { - Enabled bool // Enable CDR Server service - ExtraFields RSRParsers // Extra fields to store in CDRs + Enabled bool // Enable CDR Server service + ExtraFields utils.RSRParsers // Extra fields to store in CDRs SMCostRetries int ChargerSConns []string AttributeSConns []string @@ -173,7 +173,7 @@ func (cdrscfg *CdrsCfg) loadFromJSONCfg(jsnCdrsCfg *CdrsJsonCfg) (err error) { cdrscfg.Enabled = *jsnCdrsCfg.Enabled } if jsnCdrsCfg.Extra_fields != nil { - if cdrscfg.ExtraFields, err = NewRSRParsersFromSlice(*jsnCdrsCfg.Extra_fields); err != nil { + if cdrscfg.ExtraFields, err = utils.NewRSRParsersFromSlice(*jsnCdrsCfg.Extra_fields); err != nil { return } } diff --git a/config/cdrscfg_test.go b/config/cdrscfg_test.go index 2286ef569..1bed0d127 100644 --- a/config/cdrscfg_test.go +++ b/config/cdrscfg_test.go @@ -51,7 +51,7 @@ func TestCdrsCfgloadFromJsonCfg(t *testing.T) { EEsConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaEEs), "*conn1"}, RateSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRates), "*conn1"}, AccountSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAccounts), "*conn1"}, - ExtraFields: RSRParsers{}, + ExtraFields: utils.RSRParsers{}, Opts: &CdrsOpts{ Accounts: []*DynamicBoolOpt{{}}, Attributes: []*DynamicBoolOpt{{}}, @@ -168,7 +168,7 @@ func TestExtraFieldsinloadFromJsonCfg(t *testing.T) { expectedErrMessage := "empty RSRParser in rule: <>" jsonCfg := NewDefaultCGRConfig() if err := jsonCfg.cdrsCfg.loadFromJSONCfg(cfgJSON); err == nil || err.Error() != expectedErrMessage { - t.Errorf("Expected %+v, received %+v", expectedErrMessage, err) + t.Errorf("expected %q, received %q", expectedErrMessage, err) } } @@ -276,7 +276,7 @@ func TestCdrsCfgClone(t *testing.T) { ActionSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaActions), "*conn1"}, EEsConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaEEs), "*conn1"}, OnlineCDRExports: []string{"randomVal"}, - ExtraFields: RSRParsers{}, + ExtraFields: utils.RSRParsers{}, Opts: &CdrsOpts{}, } rcv := ban.Clone() @@ -312,7 +312,7 @@ func TestDiffCdrsJsonCfg(t *testing.T) { v1 := &CdrsCfg{ Enabled: false, - ExtraFields: RSRParsers{ + ExtraFields: utils.RSRParsers{ { Rules: "Rule1", }, @@ -376,7 +376,7 @@ func TestDiffCdrsJsonCfg(t *testing.T) { v2 := &CdrsCfg{ Enabled: true, - ExtraFields: RSRParsers{ + ExtraFields: utils.RSRParsers{ { Rules: "Rule2", }, @@ -516,7 +516,7 @@ func TestDiffCdrsJsonCfg(t *testing.T) { func TestCdrsCfgCloneSection(t *testing.T) { cdrsCfg := &CdrsCfg{ Enabled: false, - ExtraFields: RSRParsers{ + ExtraFields: utils.RSRParsers{ { Rules: "Rule1", }, @@ -534,7 +534,7 @@ func TestCdrsCfgCloneSection(t *testing.T) { exp := &CdrsCfg{ Enabled: false, - ExtraFields: RSRParsers{ + ExtraFields: utils.RSRParsers{ { Rules: "Rule1", }, diff --git a/config/config_it_test.go b/config/config_it_test.go index b761c90b1..9af6b206d 100644 --- a/config/config_it_test.go +++ b/config/config_it_test.go @@ -450,17 +450,17 @@ func testCGRConfigReloadERs(t *testing.T) { flags := utils.FlagsWithParamsFromSlice([]string{"*dryRun"}) flagsDefault := utils.FlagsWithParamsFromSlice([]string{}) content := []*FCTemplate{ - {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, - {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, } for _, v := range content { v.ComputePath() @@ -575,7 +575,7 @@ func testCGRConfigReloadFreeswitchAgent(t *testing.T) { Enabled: true, SessionSConns: []string{utils.ConcatenatedKey(rpcclient.BiRPCInternal, utils.MetaSessionS)}, SubscribePark: true, - ExtraFields: RSRParsers{}, + ExtraFields: utils.RSRParsers{}, MaxWaitConnection: 2 * time.Second, ActiveSessionDelimiter: ",", EventSocketConns: []*FsConnCfg{ diff --git a/config/config_test.go b/config/config_test.go index 9aa5b59c5..35dffbc10 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -317,7 +317,7 @@ func TestCgrCfgJSONDefaultsCDRS(t *testing.T) { EEsConns: []string{}, RateSConns: []string{}, AccountSConns: []string{}, - ExtraFields: RSRParsers{}, + ExtraFields: utils.RSRParsers{}, Opts: &CdrsOpts{ Accounts: []*DynamicBoolOpt{{}}, Attributes: []*DynamicBoolOpt{{}}, @@ -506,7 +506,7 @@ func TestCgrCfgJSONDefaultsFsAgentConfig(t *testing.T) { SessionSConns: []string{utils.ConcatenatedKey(rpcclient.BiRPCInternal, utils.MetaSessionS)}, SubscribePark: true, CreateCDR: false, - ExtraFields: RSRParsers{}, + ExtraFields: utils.RSRParsers{}, EmptyBalanceContext: "", EmptyBalanceAnnFile: "", MaxWaitConnection: 2 * time.Second, @@ -744,21 +744,21 @@ func TestCgrCfgJSONDefaultsSureTax(t *testing.T) { ResponseGroup: "03", ResponseType: "D4", RegulatoryCode: "03", - ClientTracking: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), - CustomerNumber: NewRSRParsersMustCompile("~*req.Subject", utils.InfieldSep), - OrigNumber: NewRSRParsersMustCompile("~*req.Subject", utils.InfieldSep), - TermNumber: NewRSRParsersMustCompile("~*req.Destination", utils.InfieldSep), - BillToNumber: NewRSRParsersMustCompile("", utils.InfieldSep), - Zipcode: NewRSRParsersMustCompile("", utils.InfieldSep), - P2PZipcode: NewRSRParsersMustCompile("", utils.InfieldSep), - P2PPlus4: NewRSRParsersMustCompile("", utils.InfieldSep), - Units: NewRSRParsersMustCompile("1", utils.InfieldSep), - UnitType: NewRSRParsersMustCompile("00", utils.InfieldSep), - TaxIncluded: NewRSRParsersMustCompile("0", utils.InfieldSep), - TaxSitusRule: NewRSRParsersMustCompile("04", utils.InfieldSep), - TransTypeCode: NewRSRParsersMustCompile("010101", utils.InfieldSep), - SalesTypeCode: NewRSRParsersMustCompile("R", utils.InfieldSep), - TaxExemptionCodeList: NewRSRParsersMustCompile("", utils.InfieldSep), + ClientTracking: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + CustomerNumber: utils.NewRSRParsersMustCompile("~*req.Subject", utils.InfieldSep), + OrigNumber: utils.NewRSRParsersMustCompile("~*req.Subject", utils.InfieldSep), + TermNumber: utils.NewRSRParsersMustCompile("~*req.Destination", utils.InfieldSep), + BillToNumber: utils.NewRSRParsersMustCompile("", utils.InfieldSep), + Zipcode: utils.NewRSRParsersMustCompile("", utils.InfieldSep), + P2PZipcode: utils.NewRSRParsersMustCompile("", utils.InfieldSep), + P2PPlus4: utils.NewRSRParsersMustCompile("", utils.InfieldSep), + Units: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), + UnitType: utils.NewRSRParsersMustCompile("00", utils.InfieldSep), + TaxIncluded: utils.NewRSRParsersMustCompile("0", utils.InfieldSep), + TaxSitusRule: utils.NewRSRParsersMustCompile("04", utils.InfieldSep), + TransTypeCode: utils.NewRSRParsersMustCompile("010101", utils.InfieldSep), + SalesTypeCode: utils.NewRSRParsersMustCompile("R", utils.InfieldSep), + TaxExemptionCodeList: utils.NewRSRParsersMustCompile("", utils.InfieldSep), } if !reflect.DeepEqual(cgrCfg.sureTaxCfg, eSureTaxCfg) { @@ -1449,22 +1449,22 @@ func TestSuretaxConfig(t *testing.T) { ResponseGroup: "03", ResponseType: "D4", RegulatoryCode: "03", - ClientTracking: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), - CustomerNumber: NewRSRParsersMustCompile("~*req.Subject", utils.InfieldSep), - OrigNumber: NewRSRParsersMustCompile("~*req.Subject", utils.InfieldSep), - TermNumber: NewRSRParsersMustCompile("~*req.Destination", utils.InfieldSep), - BillToNumber: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Zipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Plus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PZipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PPlus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Units: NewRSRParsersMustCompile("1", utils.InfieldSep), - UnitType: NewRSRParsersMustCompile("00", utils.InfieldSep), - TaxIncluded: NewRSRParsersMustCompile("0", utils.InfieldSep), - TaxSitusRule: NewRSRParsersMustCompile("04", utils.InfieldSep), - TransTypeCode: NewRSRParsersMustCompile("010101", utils.InfieldSep), - SalesTypeCode: NewRSRParsersMustCompile("R", utils.InfieldSep), - TaxExemptionCodeList: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + ClientTracking: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + CustomerNumber: utils.NewRSRParsersMustCompile("~*req.Subject", utils.InfieldSep), + OrigNumber: utils.NewRSRParsersMustCompile("~*req.Subject", utils.InfieldSep), + TermNumber: utils.NewRSRParsersMustCompile("~*req.Destination", utils.InfieldSep), + BillToNumber: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Zipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Plus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PZipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PPlus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Units: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), + UnitType: utils.NewRSRParsersMustCompile("00", utils.InfieldSep), + TaxIncluded: utils.NewRSRParsersMustCompile("0", utils.InfieldSep), + TaxSitusRule: utils.NewRSRParsersMustCompile("04", utils.InfieldSep), + TransTypeCode: utils.NewRSRParsersMustCompile("010101", utils.InfieldSep), + SalesTypeCode: utils.NewRSRParsersMustCompile("R", utils.InfieldSep), + TaxExemptionCodeList: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), } cgrConfig := NewDefaultCGRConfig() if err != nil { @@ -1777,7 +1777,7 @@ func TestFsAgentConfig(t *testing.T) { EmptyBalanceContext: "", MaxWaitConnection: 2000000000, ActiveSessionDelimiter: ",", - ExtraFields: RSRParsers{}, + ExtraFields: utils.RSRParsers{}, EventSocketConns: []*FsConnCfg{ { Address: "127.0.0.1:8021", @@ -2106,7 +2106,7 @@ func TestTemplatesConfig(t *testing.T) { Type: "*variable", Path: "*rep.Session-Id", Layout: "2006-01-02T15:04:05Z07:00", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true, }, { @@ -2114,7 +2114,7 @@ func TestTemplatesConfig(t *testing.T) { Type: "*variable", Path: "*rep.Origin-Host", Layout: "2006-01-02T15:04:05Z07:00", - Value: NewRSRParsersMustCompile("~*vars.OriginHost", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*vars.OriginHost", utils.InfieldSep), Mandatory: true, }, { @@ -2122,7 +2122,7 @@ func TestTemplatesConfig(t *testing.T) { Type: "*variable", Path: "*rep.Origin-Realm", Layout: "2006-01-02T15:04:05Z07:00", - Value: NewRSRParsersMustCompile("~*vars.OriginRealm", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*vars.OriginRealm", utils.InfieldSep), Mandatory: true, }, }, @@ -2132,7 +2132,7 @@ func TestTemplatesConfig(t *testing.T) { Type: "*constant", Path: "*rep.Request", Layout: "2006-01-02T15:04:05Z07:00", - Value: NewRSRParsersMustCompile("SIP/2.0 500 Internal Server Error", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("SIP/2.0 500 Internal Server Error", utils.InfieldSep), Mandatory: true, }, }, @@ -2237,30 +2237,30 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "Type", Path: "Rules.Type", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), NewBranch: true, Layout: time.RFC3339}, {Tag: "Element", Path: "Rules.Element", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Values", Path: "Rules.Values", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -2271,7 +2271,7 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "TenantID", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -2279,7 +2279,7 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { Tag: "ProfileID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -2287,51 +2287,51 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339, }, { Tag: "AttributeFilterIDs", Path: "Attributes.FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), NewBranch: true, Layout: time.RFC3339}, { Tag: "AttributeBlockers", Path: "Attributes.Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, { Tag: "Path", Path: "Attributes.Path", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "Type", Path: "Attributes.Type", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "Value", Path: "Attributes.Value", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339, }, }, @@ -2343,54 +2343,54 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "TTL", Path: "UsageTTL", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Limit", Path: "Limit", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "AllocationMessage", Path: "AllocationMessage", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blocker", Path: "Blocker", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Stored", Path: "Stored", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -2401,71 +2401,71 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "QueueLength", Path: "QueueLength", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "TTL", Path: "TTL", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MinItems", Path: "MinItems", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Stored", Path: "Stored", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MetricIDs", Path: "Metrics.MetricID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), NewBranch: true, Layout: time.RFC3339}, {Tag: "MetricFilterIDs", Path: "Metrics.FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MetricBlockers", Path: "Metrics.Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -2476,54 +2476,54 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MaxHits", Path: "MaxHits", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MinHits", Path: "MinHits", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MinSleep", Path: "MinSleep", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blocker", Path: "Blocker", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionProfileIDs", Path: "ActionProfileIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Async", Path: "Async", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -2534,64 +2534,64 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "Schedule", Path: "Schedule", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "StatID", Path: "StatID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Metrics", Path: "Metrics", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "TTL", Path: "TTL", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "QueueLength", Path: "QueueLength", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MinItems", Path: "MinItems", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "CorrelationType", Path: "CorrelationType", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Tolerance", Path: "Tolerance", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Stored", Path: "Stored", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -2602,49 +2602,49 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "Schedule", Path: "Schedule", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "StatIDs", Path: "StatIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MetricIDs", Path: "MetricIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Sorting", Path: "Sorting", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "SortingParameters", Path: "SortingParameters", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Stored", Path: "Stored", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -2655,85 +2655,85 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Sorting", Path: "Sorting", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "SortingParameters", Path: "SortingParameters", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteID", Path: "Routes.ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), NewBranch: true, Layout: time.RFC3339}, {Tag: "RouteFilterIDs", Path: "Routes.FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteAccountIDs", Path: "Routes.AccountIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteRateProfileIDs", Path: "Routes.RateProfileIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteResourceIDs", Path: "Routes.ResourceIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteStatIDs", Path: "Routes.StatIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteWeights", Path: "Routes.Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteBlockers", Path: "Routes.Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteParameters", Path: "Routes.RouteParameters", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -2744,39 +2744,39 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RunID", Path: "RunID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "AttributeIDs", Path: "AttributeIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -2787,78 +2787,78 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "MinCost", Path: "MinCost", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "MaxCost", Path: "MaxCost", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "MaxCostStrategy", Path: "MaxCostStrategy", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateFilterIDs", Path: "Rates[<~*req.7>].FilterIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateActivationTimes", Path: "Rates[<~*req.7>].ActivationTimes", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateWeights", Path: "Rates[<~*req.7>].Weights", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateBlocker", Path: "Rates[<~*req.7>].Blocker", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateIntervalStart", Path: "Rates[<~*req.7>].IntervalRates.IntervalStart", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339, NewBranch: true, }, @@ -2866,28 +2866,28 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { Path: "Rates[<~*req.7>].IntervalRates.FixedFee", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateRecurrentFee", Path: "Rates[<~*req.7>].IntervalRates.RecurrentFee", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateUnit", Path: "Rates[<~*req.7>].IntervalRates.Unit", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateIncrement", Path: "Rates[<~*req.7>].IntervalRates.Increment", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.16", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.16", utils.InfieldSep), Layout: time.RFC3339, }, }, @@ -2899,76 +2899,76 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Schedule", Path: "Schedule", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "TargetIDs", Path: "Targets[<~*req.6>]", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionFilterIDs", Path: "Actions[<~*req.8>].FilterIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionTTL", Path: "Actions[<~*req.8>].TTL", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionType", Path: "Actions[<~*req.8>].Type", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionOpts", Path: "Actions[<~*req.8>].Opts", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionPath", Path: "Actions[<~*req.8>].Diktats.Path", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), NewBranch: true, Layout: time.RFC3339}, {Tag: "ActionValue", Path: "Actions[<~*req.8>].Diktats.Value", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -2979,99 +2979,99 @@ func TestCgrLoaderCfgITDefaults(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Opts", Path: "Opts", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceFilterIDs", Path: "Balances[<~*req.6>].FilterIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceWeights", Path: "Balances[<~*req.6>].Weights", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceBlockers", Path: "Balances[<~*req.6>].Blockers", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceType", Path: "Balances[<~*req.6>].Type", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceUnits", Path: "Balances[<~*req.6>].Units", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceUnitFactors", Path: "Balances[<~*req.6>].UnitFactors", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceOpts", Path: "Balances[<~*req.6>].Opts", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceCostIncrements", Path: "Balances[<~*req.6>].CostIncrements", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceAttributeIDs", Path: "Balances[<~*req.6>].AttributeIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceRateProfileIDs", Path: "Balances[<~*req.6>].RateProfileIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.16", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.16", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.17", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.17", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -5135,27 +5135,27 @@ func TestCgrCdfEventReader(t *testing.T) { Flags: utils.FlagsWithParams{}, Fields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: []*FCTemplate{}, PartialCommitFields: []*FCTemplate{}, diff --git a/config/configsanity.go b/config/configsanity.go index 4d78b326c..373aaa43b 100644 --- a/config/configsanity.go +++ b/config/configsanity.go @@ -773,7 +773,7 @@ func (cfg *CGRConfig) checkConfigSanity() error { if rdr.Type == utils.MetaFileXML && len(field.Value) != 0 && !slices.Contains([]string{utils.MetaNone, utils.MetaConstant}, field.Type) { - // Find the minimum rule length for dynamic RSRParser within the field value. + // Find the minimum rule length for dynamic utils.RSRParser within the field value. minRuleLength := math.MaxInt for _, parser := range field.Value { if !strings.HasPrefix(parser.Rules, utils.MetaDynReq) { @@ -783,7 +783,7 @@ func (cfg *CGRConfig) checkConfigSanity() error { minRuleLength = min(minRuleLength, ruleLen) } - // If a dynamic RSRParser is found, verify xmlRootPath length against minRuleLength. + // If a dynamic utils.RSRParser is found, verify xmlRootPath length against minRuleLength. if minRuleLength != math.MaxInt { var rootHP utils.HierarchyPath if rdr.Opts.XMLRootPath != nil { diff --git a/config/configsanity_test.go b/config/configsanity_test.go index 58a743f07..57c0f247a 100644 --- a/config/configsanity_test.go +++ b/config/configsanity_test.go @@ -170,7 +170,7 @@ func TestConfigSanityLoaders(t *testing.T) { } cfg.loaderCfg[0].Data[0].Fields[0].Path = "~*req.Destination" - cfg.loaderCfg[0].Data[0].Fields[0].Value = RSRParsers{{}} + cfg.loaderCfg[0].Data[0].Fields[0].Value = utils.RSRParsers{{}} cfg.loaderCfg[0].Data[0].Fields[0].Value[0].path = "~req." expected = " Empty field path for ~req. at Values" if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected { @@ -387,7 +387,7 @@ func TestConfigSanityDAgent(t *testing.T) { cfg.templates = FCTemplates{ utils.MetaEEs: { {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, } cfg.diameterAgentCfg = &DiameterAgentCfg{ @@ -398,11 +398,11 @@ func TestConfigSanityDAgent(t *testing.T) { Timezone: "Local", RequestFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, ReplyFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, }, }, @@ -526,11 +526,11 @@ func TestConfigSanityRadiusAgent(t *testing.T) { Timezone: "Local", RequestFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, ReplyFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, }, }, @@ -627,11 +627,11 @@ func TestConfigSanityDNSAgent(t *testing.T) { Timezone: "Local", RequestFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, ReplyFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, }, }, @@ -730,11 +730,11 @@ func TestConfigSanityHTTPAgent1(t *testing.T) { Timezone: "Local", RequestFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, ReplyFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, }, }, @@ -782,7 +782,7 @@ func TestConfigSanityHTTPAgent1(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.httpAgentCfg[0].RequestProcessors[0].RequestFields[0].Value = RSRParsers{ + cfg.httpAgentCfg[0].RequestProcessors[0].RequestFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1..Field2[0]", @@ -793,7 +793,7 @@ func TestConfigSanityHTTPAgent1(t *testing.T) { if err := cfg.checkConfigSanity(); err == nil || err.Error() != expected { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.httpAgentCfg[0].RequestProcessors[0].RequestFields[0].Value = RSRParsers{ + cfg.httpAgentCfg[0].RequestProcessors[0].RequestFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1.Field2[0]", @@ -812,7 +812,7 @@ func TestConfigSanityHTTPAgent1(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.httpAgentCfg[0].RequestProcessors[0].ReplyFields[0].Value = RSRParsers{ + cfg.httpAgentCfg[0].RequestProcessors[0].ReplyFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1..Field2[0]", @@ -825,7 +825,7 @@ func TestConfigSanityHTTPAgent1(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.httpAgentCfg[0].RequestProcessors[0].ReplyFields[0].Value = RSRParsers{ + cfg.httpAgentCfg[0].RequestProcessors[0].ReplyFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1.Field2[0]", @@ -856,11 +856,11 @@ func TestConfigSanitySipAgent(t *testing.T) { Timezone: "Local", RequestFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, ReplyFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, }, }, @@ -900,7 +900,7 @@ func TestConfigSanitySipAgent(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.sipAgentCfg.RequestProcessors[0].RequestFields[0].Value = RSRParsers{ + cfg.sipAgentCfg.RequestProcessors[0].RequestFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1..Field2[0]", @@ -912,7 +912,7 @@ func TestConfigSanitySipAgent(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.sipAgentCfg.RequestProcessors[0].RequestFields[0].Value = RSRParsers{ + cfg.sipAgentCfg.RequestProcessors[0].RequestFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1.Field2[0]", @@ -932,7 +932,7 @@ func TestConfigSanitySipAgent(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.sipAgentCfg.RequestProcessors[0].ReplyFields[0].Value = RSRParsers{ + cfg.sipAgentCfg.RequestProcessors[0].ReplyFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1..Field2[0]", @@ -945,7 +945,7 @@ func TestConfigSanitySipAgent(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.sipAgentCfg.RequestProcessors[0].ReplyFields[0].Value = RSRParsers{ + cfg.sipAgentCfg.RequestProcessors[0].ReplyFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1.Field2[0]", @@ -1180,11 +1180,11 @@ func TestConfigSanityEventReader(t *testing.T) { Type: utils.MetaKafkajsonMap, CacheDumpFields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, Fields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, Opts: &EventReaderOpts{ PartialCacheAction: utils.StringPointer(utils.MetaNone), @@ -1210,7 +1210,7 @@ func TestConfigSanityEventReader(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.ersCfg.Readers[0].CacheDumpFields[0].Value = RSRParsers{ + cfg.ersCfg.Readers[0].CacheDumpFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1..Field2[0]", @@ -1224,7 +1224,7 @@ func TestConfigSanityEventReader(t *testing.T) { } cfg.ersCfg.Readers[0].CacheDumpFields[0].Type = utils.MetaNone - cfg.ersCfg.Readers[0].CacheDumpFields[0].Value = RSRParsers{ + cfg.ersCfg.Readers[0].CacheDumpFields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1.Field2[0]", @@ -1244,7 +1244,7 @@ func TestConfigSanityEventReader(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.ersCfg.Readers[0].Fields[0].Value = RSRParsers{ + cfg.ersCfg.Readers[0].Fields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1..Field2[0]", @@ -1258,7 +1258,7 @@ func TestConfigSanityEventReader(t *testing.T) { } cfg.ersCfg.Readers[0].Fields[0].Type = utils.MetaNone - cfg.ersCfg.Readers[0].Fields[0].Value = RSRParsers{ + cfg.ersCfg.Readers[0].Fields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1.Field2[0]", @@ -1288,7 +1288,7 @@ func TestConfigSanityEventExporter(t *testing.T) { { Fields: []*FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, }, }, @@ -1350,7 +1350,7 @@ func TestConfigSanityEventExporter(t *testing.T) { t.Errorf("Expecting: %+q received: %+q", expected, err) } - cfg.eesCfg.Exporters[0].Fields[0].Value = RSRParsers{ + cfg.eesCfg.Exporters[0].Fields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1..Field2[0]", @@ -1364,7 +1364,7 @@ func TestConfigSanityEventExporter(t *testing.T) { } cfg.eesCfg.Exporters[0].Fields[0].Type = utils.MetaNone - cfg.eesCfg.Exporters[0].Fields[0].Value = RSRParsers{ + cfg.eesCfg.Exporters[0].Fields[0].Value = utils.RSRParsers{ &RSRParser{ Rules: "~*req.Session-Id2", path: "~Field1.Field2[0]", diff --git a/config/dnsagentcfg_test.go b/config/dnsagentcfg_test.go index 650309b30..aac42e872 100644 --- a/config/dnsagentcfg_test.go +++ b/config/dnsagentcfg_test.go @@ -107,7 +107,7 @@ func TestRequestProcessorloadFromJsonCfg(t *testing.T) { } expected = RequestProcessor{ ID: "cgrates", - Tenant: NewRSRParsersMustCompile("tenant", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("tenant", utils.InfieldSep), Filters: []string{"filter1", "filter2"}, Flags: utils.FlagsWithParams{"flag1": {}, "flag2": {}}, } @@ -302,7 +302,7 @@ func TestDNSAgentCfgAsMapInterface1(t *testing.T) { func TestRequestProcessorClone(t *testing.T) { rp := &RequestProcessor{ ID: "cgrates", - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Filters: []string{"*string:~req.Account:1001"}, Flags: utils.FlagsWithParams{utils.MetaAttributes: {}}, Timezone: "UTC", diff --git a/config/eescfg_test.go b/config/eescfg_test.go index c848544c3..7da1107c1 100644 --- a/config/eescfg_test.go +++ b/config/eescfg_test.go @@ -109,28 +109,28 @@ func TestEESClone(t *testing.T) { Tag: utils.MetaOriginID, Path: "*exp.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, { Tag: utils.MetaOriginID, Path: "*hdr.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, { Tag: utils.MetaOriginID, Path: "*trl.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, { Tag: utils.MetaOriginID, Path: "*uch.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, }, @@ -139,14 +139,14 @@ func TestEESClone(t *testing.T) { Tag: utils.MetaOriginID, Path: "*exp.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, { Tag: utils.MetaOriginID, Path: "*uch.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, }, @@ -155,7 +155,7 @@ func TestEESClone(t *testing.T) { Tag: utils.MetaOriginID, Path: "*hdr.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, }, @@ -164,7 +164,7 @@ func TestEESClone(t *testing.T) { Tag: utils.MetaOriginID, Path: "*trl.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, }, @@ -300,11 +300,11 @@ func TestEventExporterSameID(t *testing.T) { Flags: utils.FlagsWithParams{}, Fields: []*FCTemplate{ {Tag: "CustomTag2", Path: "*exp.CustomPath2", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("CustomValue2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("CustomValue2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, contentFields: []*FCTemplate{ {Tag: "CustomTag2", Path: "*exp.CustomPath2", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("CustomValue2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("CustomValue2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, headerFields: []*FCTemplate{}, trailerFields: []*FCTemplate{}, @@ -430,13 +430,13 @@ func TestEEsCfgloadFromJsonCfgCase1(t *testing.T) { Tag: utils.MetaOriginID, Path: "*exp.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, }, Opts: &EventExporterOpts{}, Fields: []*FCTemplate{ - {Tag: utils.MetaOriginID, Path: "*exp.*originID", Type: utils.MetaVariable, Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339}, + {Tag: utils.MetaOriginID, Path: "*exp.*originID", Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339}, }, FailedPostsDir: "/var/spool/cgrates/failed_posts", EFsConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaEFs)}, @@ -546,7 +546,7 @@ func TestEEsCfgloadFromJsonCfgCase2(t *testing.T) { Tag: utils.MetaOriginID, Path: "*exp.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, }, @@ -557,14 +557,14 @@ func TestEEsCfgloadFromJsonCfgCase2(t *testing.T) { Tag: utils.MetaOriginID, Path: "*exp.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, { Tag: "*opts.*originID", Path: "*opts.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Layout: time.RFC3339, }, }, @@ -577,7 +577,7 @@ func TestEEsCfgloadFromJsonCfgCase2(t *testing.T) { Tag: utils.MetaOriginID, Path: "*exp.*originID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), Layout: time.RFC3339, }, }, diff --git a/config/erscfg.go b/config/erscfg.go index a9252d3bd..df742d8fd 100644 --- a/config/erscfg.go +++ b/config/erscfg.go @@ -206,7 +206,7 @@ type EventReaderCfg struct { ConcurrentReqs int SourcePath string ProcessedPath string - Tenant RSRParsers + Tenant utils.RSRParsers Timezone string EEsSuccessIDs []string EEsFailedIDs []string @@ -391,7 +391,7 @@ func (er *EventReaderCfg) loadFromJSONCfg(jsnCfg *EventReaderJsonCfg, msgTemplat er.ProcessedPath = *jsnCfg.ProcessedPath } if jsnCfg.Tenant != nil { - if er.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, utils.RSRSep); err != nil { + if er.Tenant, err = utils.NewRSRParsers(*jsnCfg.Tenant, utils.RSRSep); err != nil { return err } } diff --git a/config/erscfg_test.go b/config/erscfg_test.go index 9f5eed655..fbd436512 100644 --- a/config/erscfg_test.go +++ b/config/erscfg_test.go @@ -85,27 +85,27 @@ func TestERSClone(t *testing.T) { Flags: utils.FlagsWithParams{}, Fields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: make([]*FCTemplate, 0), PartialCommitFields: make([]*FCTemplate, 0), @@ -125,7 +125,7 @@ func TestERSClone(t *testing.T) { ConcurrentReqs: 1024, SourcePath: "/tmp/ers/in", ProcessedPath: "/tmp/ers/out", - Tenant: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), Reconnects: -1, MaxReconnectInterval: 5 * time.Minute, Timezone: utils.EmptyString, @@ -133,18 +133,18 @@ func TestERSClone(t *testing.T) { Flags: utils.FlagsWithParams{}, Fields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, PartialCommitFields: []*FCTemplate{ { Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Mandatory: true, @@ -254,27 +254,27 @@ func TestERSLoadFromjsonCfg(t *testing.T) { Flags: utils.FlagsWithParams{}, Fields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: make([]*FCTemplate, 0), PartialCommitFields: make([]*FCTemplate, 0), @@ -302,27 +302,27 @@ func TestERSLoadFromjsonCfg(t *testing.T) { Flags: utils.FlagsWithParams{}, Fields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: make([]*FCTemplate, 0), PartialCommitFields: make([]*FCTemplate, 0), @@ -387,7 +387,7 @@ func TestEventReaderloadFromJsonCfgErr1(t *testing.T) { PartialCommitFields: []*FCTemplate{ { Type: utils.MetaTemplate, - Value: NewRSRParsersMustCompile("1sa{*duration}", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1sa{*duration}", utils.InfieldSep), }, }, } @@ -429,7 +429,7 @@ func TestEventReaderloadFromJsonCfgErr3(t *testing.T) { PartialCommitFields: []*FCTemplate{ { Type: utils.MetaTemplate, - Value: NewRSRParsersMustCompile("value", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("value", utils.InfieldSep), }, }, } @@ -562,27 +562,27 @@ func TestERSloadFromJsonCase3(t *testing.T) { Flags: utils.FlagsWithParams{}, Fields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: make([]*FCTemplate, 0), PartialCommitFields: make([]*FCTemplate, 0), @@ -699,27 +699,27 @@ func TestERSloadFromJsonCase4(t *testing.T) { Flags: utils.FlagsWithParams{}, Fields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: make([]*FCTemplate, 0), PartialCommitFields: make([]*FCTemplate, 0), @@ -751,7 +751,7 @@ func TestERSloadFromJsonCase4(t *testing.T) { Tag: "OrderID", Path: "*exp.OrderID", Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.OrderID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.OrderID", utils.InfieldSep), }, }, PartialCommitFields: make([]*FCTemplate, 0), @@ -774,7 +774,7 @@ func TestERSloadFromJsonCase4(t *testing.T) { Tag: "OrderID", Path: "*exp.OrderID", Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.OrderID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.OrderID", utils.InfieldSep), }, }, } @@ -831,27 +831,27 @@ func TestEventReaderSameID(t *testing.T) { MaxReconnectInterval: 5 * time.Minute, Fields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: make([]*FCTemplate, 0), PartialCommitFields: make([]*FCTemplate, 0), @@ -879,7 +879,7 @@ func TestEventReaderSameID(t *testing.T) { MaxReconnectInterval: 5 * time.Minute, Fields: []*FCTemplate{ {Tag: "CustomTag2", Path: "CustomPath2", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("CustomValue2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("CustomValue2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: make([]*FCTemplate, 0), PartialCommitFields: make([]*FCTemplate, 0), @@ -1240,27 +1240,27 @@ func TestERsloadFromJsonCfg(t *testing.T) { MaxReconnectInterval: 5 * time.Minute, Fields: []*FCTemplate{ {Tag: utils.ToR, Path: utils.MetaCgreq + utils.NestingSep + utils.ToR, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.OriginID, Path: utils.MetaCgreq + utils.NestingSep + utils.OriginID, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.RequestType, Path: utils.MetaCgreq + utils.NestingSep + utils.RequestType, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Tenant, Path: utils.MetaCgreq + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Category, Path: utils.MetaCgreq + utils.NestingSep + utils.Category, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AccountField, Path: utils.MetaCgreq + utils.NestingSep + utils.AccountField, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Subject, Path: utils.MetaCgreq + utils.NestingSep + utils.Subject, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Destination, Path: utils.MetaCgreq + utils.NestingSep + utils.Destination, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.SetupTime, Path: utils.MetaCgreq + utils.NestingSep + utils.SetupTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.AnswerTime, Path: utils.MetaCgreq + utils.NestingSep + utils.AnswerTime, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: utils.Usage, Path: utils.MetaCgreq + utils.NestingSep + utils.Usage, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: make([]*FCTemplate, 0), PartialCommitFields: make([]*FCTemplate, 0), @@ -1294,7 +1294,7 @@ func TestERsloadFromJsonCfg(t *testing.T) { Layout: time.RFC3339, }, {Tag: "CustomTag2", Path: "CustomPath2", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("CustomValue2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, + Value: utils.NewRSRParsersMustCompile("CustomValue2", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, }, CacheDumpFields: make([]*FCTemplate, 0), PartialCommitFields: make([]*FCTemplate, 0), @@ -1337,7 +1337,7 @@ func TestDiffEventReaderJsonCfg(t *testing.T) { SourcePath: "/tmp/ers/in", ProcessedPath: "/tmp/ers/out", Opts: &EventReaderOpts{}, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "cgrates.org", }, @@ -1360,7 +1360,7 @@ func TestDiffEventReaderJsonCfg(t *testing.T) { Opts: &EventReaderOpts{ CSVRowLength: utils.IntPointer(5), }, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "itsyscom.com", }, @@ -1566,7 +1566,7 @@ func TestDiffEventReadersJsonCfg(t *testing.T) { SourcePath: "/tmp/ers/in", ProcessedPath: "/tmp/ers/out", Opts: &EventReaderOpts{}, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "cgrates.org", }, @@ -1590,7 +1590,7 @@ func TestDiffEventReadersJsonCfg(t *testing.T) { Opts: &EventReaderOpts{ CSVRowLength: utils.IntPointer(5), }, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "itsyscom.com", }, diff --git a/config/fctemplate.go b/config/fctemplate.go index 2bdbb67d9..97aad7aab 100644 --- a/config/fctemplate.go +++ b/config/fctemplate.go @@ -46,7 +46,7 @@ func NewFCTemplateFromFCTemplateJSONCfg(jsnCfg *FcTemplateJsonCfg) (*FCTemplate, fcTmp.Filters = slices.Clone(*jsnCfg.Filters) } if jsnCfg.Value != nil { - if fcTmp.Value, err = NewRSRParsers(*jsnCfg.Value, utils.RSRSep); err != nil { + if fcTmp.Value, err = utils.NewRSRParsers(*jsnCfg.Value, utils.RSRSep); err != nil { return nil, err } } @@ -100,7 +100,7 @@ type FCTemplate struct { Type string // Type of field Path string // Field identifier Filters []string // list of filter profiles - Value RSRParsers + Value utils.RSRParsers Width int Strip string Padding string diff --git a/config/fctemplate_test.go b/config/fctemplate_test.go index 03333d1f7..9b47a1c31 100644 --- a/config/fctemplate_test.go +++ b/config/fctemplate_test.go @@ -38,7 +38,7 @@ func TestNewFCTemplateFromFCTemplateJsonCfg(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Layout: time.RFC3339, } expected.ComputePath() @@ -53,7 +53,7 @@ func TestFCTemplateInflateTemplate(t *testing.T) { fcTemplate := []*FCTemplate{ { Type: utils.MetaTemplate, - Value: NewRSRParsersMustCompile("1sa{*duration}", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1sa{*duration}", utils.InfieldSep), }, } expected := "time: unknown unit \"sa\" in duration \"1sa\"" @@ -97,7 +97,7 @@ func TestFCTemplatesFromFCTemplatesJsonCfg(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Layout: time.RFC3339, }, { @@ -105,7 +105,7 @@ func TestFCTemplatesFromFCTemplatesJsonCfg(t *testing.T) { Type: "*composed", Path: "RunID", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), Layout: time.RFC3339, }, } @@ -126,20 +126,20 @@ func TestFCTemplateInflate1(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), }, { Tag: "RunID", Type: "*composed", Path: "RunID", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), }, { Tag: "TmpMap", Type: "*template", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("TmpMap", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("TmpMap", utils.InfieldSep), }, } fcTmpMp := map[string][]*FCTemplate{ @@ -149,14 +149,14 @@ func TestFCTemplateInflate1(t *testing.T) { Type: "*composed", Path: "Elem1", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("Elem1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem1", utils.InfieldSep), }, { Tag: "Elem2", Type: "*composed", Path: "Elem2", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("Elem2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem2", utils.InfieldSep), }, }, "TmpMap2": { @@ -165,14 +165,14 @@ func TestFCTemplateInflate1(t *testing.T) { Type: "*composed", Path: "Elem2.1", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("Elem2.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem2.1", utils.InfieldSep), }, { Tag: "Elem2.2", Type: "*composed", Path: "Elem2.2", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("Elem2.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem2.2", utils.InfieldSep), }, }, } @@ -182,28 +182,28 @@ func TestFCTemplateInflate1(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), }, { Tag: "RunID", Type: "*composed", Path: "RunID", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), }, { Tag: "Elem1", Type: "*composed", Path: "Elem1", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("Elem1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem1", utils.InfieldSep), }, { Tag: "Elem2", Type: "*composed", Path: "Elem2", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("Elem2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem2", utils.InfieldSep), }, } if rcv, err := InflateTemplates(fcTmp1, fcTmpMp); err != nil { @@ -220,20 +220,20 @@ func TestFCTemplateInflate2(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), }, { Tag: "RunID", Type: "*composed", Path: "RunID", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), }, { Tag: "TmpMap3", Type: "*template", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("TmpMap3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("TmpMap3", utils.InfieldSep), }, } fcTmpMp := map[string][]*FCTemplate{ @@ -243,14 +243,14 @@ func TestFCTemplateInflate2(t *testing.T) { Type: "*composed", Path: "Elem1", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("Elem1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem1", utils.InfieldSep), }, { Tag: "Elem2", Type: "*composed", Path: "Elem2", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("Elem2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem2", utils.InfieldSep), }, }, "TmpMap2": { @@ -259,14 +259,14 @@ func TestFCTemplateInflate2(t *testing.T) { Type: "*composed", Path: "Elem2.1", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("Elem2.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem2.1", utils.InfieldSep), }, { Tag: "Elem2.2", Type: "*composed", Path: "Elem2.2", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("Elem2.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem2.2", utils.InfieldSep), }, }, } @@ -283,20 +283,20 @@ func TestFCTemplateInflate3(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), }, { Tag: "RunID", Type: "*composed", Path: "RunID", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("SampleValue", utils.InfieldSep), }, { Tag: "TmpMap", Type: "*template", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("TmpMap", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("TmpMap", utils.InfieldSep), }, } fcTmpMp := map[string][]*FCTemplate{ @@ -307,14 +307,14 @@ func TestFCTemplateInflate3(t *testing.T) { Type: "*composed", Path: "Elem2.1", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("Elem2.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem2.1", utils.InfieldSep), }, { Tag: "Elem2.2", Type: "*composed", Path: "Elem2.2", Filters: []string{"Filter1_1", "Filter2_2"}, - Value: NewRSRParsersMustCompile("Elem2.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Elem2.2", utils.InfieldSep), }, }, } @@ -338,7 +338,7 @@ func TestFCTemplateClone(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), RoundingDecimals: utils.IntPointer(2), } smpl.ComputePath() @@ -351,12 +351,12 @@ func TestFCTemplateClone(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), RoundingDecimals: utils.IntPointer(2), } initialSmpl.ComputePath() smpl.Filters = []string{"SingleFilter"} - smpl.Value = NewRSRParsersMustCompile("cgrates.com", utils.InfieldSep) + smpl.Value = utils.NewRSRParsersMustCompile("cgrates.com", utils.InfieldSep) if !reflect.DeepEqual(cloned, initialSmpl) { t.Errorf("expected: %s ,received: %s", utils.ToJSON(initialSmpl), utils.ToJSON(cloned)) } @@ -490,7 +490,7 @@ func TestFCTemplatesClone(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), RoundingDecimals: utils.IntPointer(2), }}, } @@ -505,7 +505,7 @@ func TestFCTemplatesClone(t *testing.T) { Type: "*composed", Path: "Tenant", Filters: []string{"Filter1", "Filter2"}, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), RoundingDecimals: utils.IntPointer(2), }}, } @@ -522,7 +522,7 @@ func TestFcTemplatesEqual(t *testing.T) { Tag: "TenantID", Type: utils.MetaVariable, Path: utils.Tenant, - Value: RSRParsers{ + Value: utils.RSRParsers{ { Rules: "*req.0", }, @@ -549,7 +549,7 @@ func TestFcTemplatesEqual(t *testing.T) { Tag: "TenantID", Type: utils.MetaVariable, Path: utils.Tenant, - Value: RSRParsers{ + Value: utils.RSRParsers{ { Rules: "*req.0", }, @@ -584,7 +584,7 @@ func TestFcTemplatesEqual(t *testing.T) { Tag: "TenantID", Type: utils.MetaVariable, Path: utils.Tenant, - Value: RSRParsers{ + Value: utils.RSRParsers{ { Rules: "*req.0", }, @@ -624,7 +624,7 @@ func TestDiffFcTemplateJsonCfg(t *testing.T) { Tag: "TenantID", Type: utils.MetaVariable, Path: utils.Tenant, - Value: RSRParsers{ + Value: utils.RSRParsers{ { Rules: "*req.0", }, @@ -703,7 +703,7 @@ func TestDiffFcTemplatesJsonCfg(t *testing.T) { Tag: "TenantID", Type: utils.MetaVariable, Path: utils.Tenant, - Value: RSRParsers{ + Value: utils.RSRParsers{ { Rules: "*req.0", }, @@ -773,7 +773,7 @@ func TestFCTemplatecloneSection(t *testing.T) { Tag: "TenantID", Type: utils.MetaVariable, Path: utils.Tenant, - Value: RSRParsers{ + Value: utils.RSRParsers{ { Rules: "*req.0", }, @@ -802,7 +802,7 @@ func TestFCTemplatecloneSection(t *testing.T) { Tag: "TenantID", Type: utils.MetaVariable, Path: utils.Tenant, - Value: RSRParsers{ + Value: utils.RSRParsers{ { Rules: "*req.0", }, diff --git a/config/fsagentcfg.go b/config/fsagentcfg.go index ea2e68fd0..b7574fded 100644 --- a/config/fsagentcfg.go +++ b/config/fsagentcfg.go @@ -97,7 +97,7 @@ type FsAgentCfg struct { SessionSConns []string SubscribePark bool CreateCDR bool - ExtraFields RSRParsers + ExtraFields utils.RSRParsers LowBalanceAnnFile string EmptyBalanceContext string EmptyBalanceAnnFile string @@ -133,7 +133,7 @@ func (fscfg *FsAgentCfg) loadFromJSONCfg(jsnCfg *FreeswitchAgentJsonCfg) error { fscfg.CreateCDR = *jsnCfg.CreateCDR } if jsnCfg.ExtraFields != nil { - if fscfg.ExtraFields, err = NewRSRParsersFromSlice(*jsnCfg.ExtraFields); err != nil { + if fscfg.ExtraFields, err = utils.NewRSRParsersFromSlice(*jsnCfg.ExtraFields); err != nil { return err } } diff --git a/config/httpagntcfg_test.go b/config/httpagntcfg_test.go index 73f752d89..af9900f18 100644 --- a/config/httpagntcfg_test.go +++ b/config/httpagntcfg_test.go @@ -65,14 +65,14 @@ func TestHttpAgentCfgsloadFromJsonCfgCase1(t *testing.T) { RequestProcessors: []*RequestProcessor{{ ID: "OutboundAUTHDryRun", Filters: []string{"*string:*req.request_type:OutboundAUTH", "*string:*req.Msisdn:497700056231"}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{utils.MetaDryRun: {}}, RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{{ Tag: "Allow", Path: "response.Allow", Type: "*constant", - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }}, @@ -169,14 +169,14 @@ func TestHttpAgentCfgsloadFromJsonCfgCase2(t *testing.T) { { ID: "OutboundAUTHDryRun", Filters: []string{"*string:*req.request_type:OutboundAUTH", "*string:*req.Msisdn:497700056231"}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{utils.MetaDryRun: {}}, RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{{ Tag: "Allow", Path: "response.Allow", Type: utils.MetaConstant, - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }}, @@ -184,13 +184,13 @@ func TestHttpAgentCfgsloadFromJsonCfgCase2(t *testing.T) { { ID: "mtcall_cdr", Filters: []string{"*string:*req.request_type:MTCALL_CDR"}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{utils.MetaCDRs: {}}, RequestFields: []*FCTemplate{{ Tag: "RequestType", Path: "RequestType", Type: utils.MetaConstant, - Value: NewRSRParsersMustCompile("*pseudoprepaid", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*pseudoprepaid", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }}, @@ -198,7 +198,7 @@ func TestHttpAgentCfgsloadFromJsonCfgCase2(t *testing.T) { Tag: "CDR_ID", Path: "CDR_RESPONSE.CDR_ID", Type: utils.MetaComposed, - Value: NewRSRParsersMustCompile("~*req.CDR_ID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.CDR_ID", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }}, @@ -211,7 +211,7 @@ func TestHttpAgentCfgsloadFromJsonCfgCase2(t *testing.T) { ReplyPayload: utils.MetaXml, RequestProcessors: []*RequestProcessor{{ ID: "cdr_from_xml", - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{utils.MetaCDRs: {}}, RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{}, @@ -255,7 +255,7 @@ func TestHttpAgentCfgloadFromJsonCfgCase3(t *testing.T) { RequestProcessors: []*RequestProcessor{{ ID: "OutboundAUTHDryRun", Filters: []string{"*string:*req.request_type:OutboundAUTH", "*string:*req.Msisdn:497700056231"}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{"*dryRun": {}}, RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{}, @@ -477,14 +477,14 @@ func TestHTTPAgentCfgsClone(t *testing.T) { RequestProcessors: []*RequestProcessor{{ ID: "OutboundAUTHDryRun", Filters: []string{"*string:*req.request_type:OutboundAUTH", "*string:*req.Msisdn:497700056231"}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{utils.MetaDryRun: {}}, RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{{ Tag: "Allow", Path: "response.Allow", Type: "*constant", - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }}, @@ -515,7 +515,7 @@ func TestEqualsHTTPAgentCfgs(t *testing.T) { { ID: "OutboundAUTHDryRun", Filters: []string{"*string:*req.request_type:OutboundAUTH", "*string:*req.Msisdn:497700056231"}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{utils.MetaDryRun: {}}, RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{ @@ -523,7 +523,7 @@ func TestEqualsHTTPAgentCfgs(t *testing.T) { Tag: "Allow", Path: "response.Allow", Type: "*constant", - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -544,7 +544,7 @@ func TestEqualsHTTPAgentCfgs(t *testing.T) { { ID: "OutboundAUTHDryRun", Filters: []string{"*string:*req.request_type:OutboundAUTH", "*string:*req.Msisdn:497700056231"}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{utils.MetaDryRun: {}}, RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{ @@ -552,7 +552,7 @@ func TestEqualsHTTPAgentCfgs(t *testing.T) { Tag: "Allow", Path: "response.Allow", Type: "*constant", - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, diff --git a/config/libdynamics.go b/config/libdynamics.go index 2f107efa5..1c064b01b 100644 --- a/config/libdynamics.go +++ b/config/libdynamics.go @@ -37,42 +37,42 @@ type DynamicStringOpt struct { FilterIDs []string Tenant string value string - rsVal RSRParsers + rsVal utils.RSRParsers } type DynamicIntOpt struct { FilterIDs []string Tenant string value int - rsVal RSRParsers + rsVal utils.RSRParsers } type DynamicFloat64Opt struct { FilterIDs []string Tenant string value float64 - rsVal RSRParsers + rsVal utils.RSRParsers } type DynamicBoolOpt struct { FilterIDs []string Tenant string value bool - rsVal RSRParsers + rsVal utils.RSRParsers } type DynamicDurationOpt struct { FilterIDs []string Tenant string value time.Duration - rsVal RSRParsers + rsVal utils.RSRParsers } type DynamicDecimalOpt struct { FilterIDs []string Tenant string value *decimal.Big - rsVal RSRParsers + rsVal utils.RSRParsers } type DynamicInterfaceOpt struct { @@ -85,14 +85,14 @@ type DynamicIntPointerOpt struct { FilterIDs []string Tenant string value *int - rsVal RSRParsers + rsVal utils.RSRParsers } type DynamicDurationPointerOpt struct { FilterIDs []string Tenant string value *time.Duration - rsVal RSRParsers + rsVal utils.RSRParsers } func CloneDynamicStringSliceOpt(in []*DynamicStringSliceOpt) (cl []*DynamicStringSliceOpt) { @@ -434,7 +434,7 @@ func InterfaceToDynamicStringOpts(strJsOpts []*DynamicInterfaceOpt) (strOpts []* } strval := utils.IfaceAsString(opt.Value) if strings.HasPrefix(strval, utils.DynamicDataPrefix) { - strOpts[indx].rsVal, err = NewRSRParsers(strval, utils.RSRSep) + strOpts[indx].rsVal, err = utils.NewRSRParsers(strval, utils.RSRSep) if err != nil { return } @@ -470,7 +470,7 @@ func InterfaceToFloat64DynamicOpts(strJsOpts []*DynamicInterfaceOpt) (flOpts []* } strVal := utils.IfaceAsString(opt.Value) if strings.HasPrefix(strVal, utils.DynamicDataPrefix) { - flOpts[index].rsVal, err = NewRSRParsers(strVal, utils.RSRSep) + flOpts[index].rsVal, err = utils.NewRSRParsers(strVal, utils.RSRSep) if err != nil { return nil, err } @@ -507,7 +507,7 @@ func IfaceToIntDynamicOpts(strJsOpts []*DynamicInterfaceOpt) (intPtOpts []*Dynam } strval := utils.IfaceAsString(opt.Value) if strings.HasPrefix(strval, utils.DynamicDataPrefix) { - intPtOpts[index].rsVal, err = NewRSRParsers(strval, utils.RSRSep) + intPtOpts[index].rsVal, err = utils.NewRSRParsers(strval, utils.RSRSep) if err != nil { return nil, err } @@ -544,7 +544,7 @@ func IfaceToDecimalBigDynamicOpts(strOpts []*DynamicInterfaceOpt) (decOpts []*Dy } strVal := utils.IfaceAsString(opt.Value) if strings.HasPrefix(strVal, utils.DynamicDataPrefix) { - decOpts[index].rsVal, err = NewRSRParsers(strVal, utils.RSRSep) + decOpts[index].rsVal, err = utils.NewRSRParsers(strVal, utils.RSRSep) if err != nil { return nil, err } @@ -582,7 +582,7 @@ func IfaceToDurationDynamicOpts(ifOpts []*DynamicInterfaceOpt) (durOpts []*Dynam } strVal := utils.IfaceAsString(opt.Value) if strings.HasPrefix(strVal, utils.DynamicDataPrefix) { - durOpts[index].rsVal, err = NewRSRParsers(strVal, utils.RSRSep) + durOpts[index].rsVal, err = utils.NewRSRParsers(strVal, utils.RSRSep) if err != nil { return nil, err } @@ -620,7 +620,7 @@ func IfaceToIntPointerDynamicOpts(ifOpts []*DynamicInterfaceOpt) (intPtOpts []*D } strval := utils.IfaceAsString(opt.Value) if strings.HasPrefix(strval, utils.DynamicDataPrefix) { - intPtOpts[index].rsVal, err = NewRSRParsers(strval, utils.RSRSep) + intPtOpts[index].rsVal, err = utils.NewRSRParsers(strval, utils.RSRSep) if err != nil { return nil, err } @@ -657,7 +657,7 @@ func IfaceToDurationPointerDynamicOpts(ifOpts []*DynamicInterfaceOpt) (durPtOpts } strVal := utils.IfaceAsString(opt.Value) if strings.HasPrefix(strVal, utils.DynamicDataPrefix) { - durPtOpts[index].rsVal, err = NewRSRParsers(strVal, utils.RSRSep) + durPtOpts[index].rsVal, err = utils.NewRSRParsers(strVal, utils.RSRSep) if err != nil { return nil, err } @@ -692,7 +692,7 @@ func IfaceToBoolDynamicOpts(strOpts []*DynamicInterfaceOpt) (boolOpts []*Dynamic Tenant: opt.Tenant, } if dynVal := utils.IfaceAsString(opt.Value); strings.HasPrefix(dynVal, utils.DynamicDataPrefix) { - boolOpts[index].rsVal, err = NewRSRParsers(dynVal, utils.RSRSep) + boolOpts[index].rsVal, err = utils.NewRSRParsers(dynVal, utils.RSRSep) if err != nil { return } @@ -720,7 +720,7 @@ func BoolToIfaceDynamicOpts(boolOpts []*DynamicBoolOpt) (strOpts []*DynamicInter return } -func NewDynamicStringOpt(filterIDs []string, tenant string, value string, dynValue RSRParsers) *DynamicStringOpt { +func NewDynamicStringOpt(filterIDs []string, tenant string, value string, dynValue utils.RSRParsers) *DynamicStringOpt { return &DynamicStringOpt{ FilterIDs: filterIDs, Tenant: tenant, @@ -729,7 +729,7 @@ func NewDynamicStringOpt(filterIDs []string, tenant string, value string, dynVal } } -func NewDynamicIntOpt(filterIDs []string, tenant string, value int, dynValue RSRParsers) *DynamicIntOpt { +func NewDynamicIntOpt(filterIDs []string, tenant string, value int, dynValue utils.RSRParsers) *DynamicIntOpt { return &DynamicIntOpt{ FilterIDs: filterIDs, Tenant: tenant, @@ -738,7 +738,7 @@ func NewDynamicIntOpt(filterIDs []string, tenant string, value int, dynValue RSR } } -func NewDynamicFloat64Opt(filterIDs []string, tenant string, value float64, dynValue RSRParsers) *DynamicFloat64Opt { +func NewDynamicFloat64Opt(filterIDs []string, tenant string, value float64, dynValue utils.RSRParsers) *DynamicFloat64Opt { return &DynamicFloat64Opt{ FilterIDs: filterIDs, Tenant: tenant, @@ -747,7 +747,7 @@ func NewDynamicFloat64Opt(filterIDs []string, tenant string, value float64, dynV } } -func NewDynamicDecimalOpt(filterIDs []string, tenant string, value *decimal.Big, dynValue RSRParsers) *DynamicDecimalOpt { +func NewDynamicDecimalOpt(filterIDs []string, tenant string, value *decimal.Big, dynValue utils.RSRParsers) *DynamicDecimalOpt { return &DynamicDecimalOpt{ FilterIDs: filterIDs, Tenant: tenant, @@ -756,7 +756,7 @@ func NewDynamicDecimalOpt(filterIDs []string, tenant string, value *decimal.Big, } } -func NewDynamicDurationOpt(filterIDs []string, tenant string, value time.Duration, dynValue RSRParsers) *DynamicDurationOpt { +func NewDynamicDurationOpt(filterIDs []string, tenant string, value time.Duration, dynValue utils.RSRParsers) *DynamicDurationOpt { return &DynamicDurationOpt{ FilterIDs: filterIDs, Tenant: tenant, @@ -765,7 +765,7 @@ func NewDynamicDurationOpt(filterIDs []string, tenant string, value time.Duratio } } -func NewDynamicBoolOpt(filterIDs []string, tenant string, value bool, dynValue RSRParsers) *DynamicBoolOpt { +func NewDynamicBoolOpt(filterIDs []string, tenant string, value bool, dynValue utils.RSRParsers) *DynamicBoolOpt { return &DynamicBoolOpt{ FilterIDs: filterIDs, Tenant: tenant, @@ -774,7 +774,7 @@ func NewDynamicBoolOpt(filterIDs []string, tenant string, value bool, dynValue R } } -func NewDynamicIntPointerOpt(filterIDs []string, tenant string, value *int, dynValue RSRParsers) *DynamicIntPointerOpt { +func NewDynamicIntPointerOpt(filterIDs []string, tenant string, value *int, dynValue utils.RSRParsers) *DynamicIntPointerOpt { return &DynamicIntPointerOpt{ FilterIDs: filterIDs, Tenant: tenant, @@ -783,7 +783,7 @@ func NewDynamicIntPointerOpt(filterIDs []string, tenant string, value *int, dynV } } -func NewDynamicDurationPointerOpt(filterIDs []string, tenant string, value *time.Duration, dynValue RSRParsers) *DynamicDurationPointerOpt { +func NewDynamicDurationPointerOpt(filterIDs []string, tenant string, value *time.Duration, dynValue utils.RSRParsers) *DynamicDurationPointerOpt { return &DynamicDurationPointerOpt{ FilterIDs: filterIDs, Tenant: tenant, diff --git a/config/loaderscfg_test.go b/config/loaderscfg_test.go index b4591c747..3e640cf82 100644 --- a/config/loaderscfg_test.go +++ b/config/loaderscfg_test.go @@ -91,30 +91,30 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "Type", Path: "Rules.Type", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), NewBranch: true, Layout: time.RFC3339}, {Tag: "Element", Path: "Rules.Element", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Values", Path: "Rules.Values", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -126,7 +126,7 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "TenantID", Path: "Tenant", Type: utils.MetaComposed, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -139,54 +139,54 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "TTL", Path: "UsageTTL", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Limit", Path: "Limit", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "AllocationMessage", Path: "AllocationMessage", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blocker", Path: "Blocker", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Stored", Path: "Stored", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -198,70 +198,70 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "QueueLength", Path: "QueueLength", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "TTL", Path: "TTL", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MinItems", Path: "MinItems", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Stored", Path: "Stored", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MetricIDs", Path: "Metrics.MetricID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), NewBranch: true, Layout: time.RFC3339}, {Tag: "MetricFilterIDs", Path: "Metrics.FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MetricBlockers", Path: "Metrics.Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -273,54 +273,54 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MaxHits", Path: "MaxHits", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MinHits", Path: "MinHits", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MinSleep", Path: "MinSleep", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blocker", Path: "Blocker", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionProfileIDs", Path: "ActionProfileIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Async", Path: "Async", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -332,64 +332,64 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "Schedule", Path: "Schedule", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "StatID", Path: "StatID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Metrics", Path: "Metrics", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "TTL", Path: "TTL", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "QueueLength", Path: "QueueLength", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MinItems", Path: "MinItems", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "CorrelationType", Path: "CorrelationType", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Tolerance", Path: "Tolerance", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Stored", Path: "Stored", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -401,49 +401,49 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "Schedule", Path: "Schedule", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "StatIDs", Path: "StatIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "MetricIDs", Path: "MetricIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Sorting", Path: "Sorting", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "SortingParameters", Path: "SortingParameters", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Stored", Path: "Stored", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -455,85 +455,85 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Sorting", Path: "Sorting", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "SortingParameters", Path: "SortingParameters", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteID", Path: "Routes.ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), NewBranch: true, Layout: time.RFC3339}, {Tag: "RouteFilterIDs", Path: "Routes.FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteAccountIDs", Path: "Routes.AccountIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteRateProfileIDs", Path: "Routes.RateProfileIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteResourceIDs", Path: "Routes.ResourceIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteStatIDs", Path: "Routes.StatIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteWeights", Path: "Routes.Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteBlockers", Path: "Routes.Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RouteParameters", Path: "Routes.RouteParameters", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -545,39 +545,39 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "RunID", Path: "RunID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "AttributeIDs", Path: "AttributeIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -589,78 +589,78 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "MinCost", Path: "MinCost", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "MaxCost", Path: "MaxCost", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "MaxCostStrategy", Path: "MaxCostStrategy", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.6", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateFilterIDs", Path: "Rates[<~*req.7>].FilterIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateActivationTimes", Path: "Rates[<~*req.7>].ActivationTimes", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateWeights", Path: "Rates[<~*req.7>].Weights", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateBlocker", Path: "Rates[<~*req.7>].Blocker", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateIntervalStart", Path: "Rates[<~*req.7>].IntervalRates.IntervalStart", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339, NewBranch: true, }, @@ -668,28 +668,28 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { Path: "Rates[<~*req.7>].IntervalRates.FixedFee", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateRecurrentFee", Path: "Rates[<~*req.7>].IntervalRates.RecurrentFee", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateUnit", Path: "Rates[<~*req.7>].IntervalRates.Unit", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), Layout: time.RFC3339, }, {Tag: "RateIncrement", Path: "Rates[<~*req.7>].IntervalRates.Increment", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.7:"}, - Value: NewRSRParsersMustCompile("~*req.16", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.16", utils.InfieldSep), Layout: time.RFC3339, }, }, @@ -702,76 +702,76 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Schedule", Path: "Schedule", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "TargetIDs", Path: "Targets[<~*req.6>]", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionFilterIDs", Path: "Actions[<~*req.8>].FilterIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionTTL", Path: "Actions[<~*req.8>].TTL", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionType", Path: "Actions[<~*req.8>].Type", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionOpts", Path: "Actions[<~*req.8>].Opts", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ActionPath", Path: "Actions[<~*req.8>].Diktats.Path", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), NewBranch: true, Layout: time.RFC3339}, {Tag: "ActionValue", Path: "Actions[<~*req.8>].Diktats.Value", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.8:"}, - Value: NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -783,99 +783,99 @@ func TestLoaderSCfgloadFromJsonCfgCase1(t *testing.T) { {Tag: "Tenant", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "ID", Path: "ID", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339}, {Tag: "FilterIDs", Path: "FilterIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.2", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Weights", Path: "Weights", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.3", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Blockers", Path: "Blockers", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.4", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "Opts", Path: "Opts", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.5", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceFilterIDs", Path: "Balances[<~*req.6>].FilterIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.7", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceWeights", Path: "Balances[<~*req.6>].Weights", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.8", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceBlockers", Path: "Balances[<~*req.6>].Blockers", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.9", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceType", Path: "Balances[<~*req.6>].Type", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.10", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceUnits", Path: "Balances[<~*req.6>].Units", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.11", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceUnitFactors", Path: "Balances[<~*req.6>].UnitFactors", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.12", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceOpts", Path: "Balances[<~*req.6>].Opts", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.13", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceCostIncrements", Path: "Balances[<~*req.6>].CostIncrements", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.14", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceAttributeIDs", Path: "Balances[<~*req.6>].AttributeIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.15", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "BalanceRateProfileIDs", Path: "Balances[<~*req.6>].RateProfileIDs", Type: utils.MetaVariable, Filters: []string{"*notempty:~*req.6:"}, - Value: NewRSRParsersMustCompile("~*req.16", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.16", utils.InfieldSep), Layout: time.RFC3339}, {Tag: "ThresholdIDs", Path: "ThresholdIDs", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.17", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.17", utils.InfieldSep), Layout: time.RFC3339}, }, }, @@ -905,7 +905,7 @@ func TestLoaderDataTypeLoadFromJSONNil(t *testing.T) { Path: "Tenant", pathSlice: []string{"Tenant"}, Type: utils.MetaComposed, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -979,7 +979,7 @@ func TestLoaderSCfgloadFromJsonCfgCase5(t *testing.T) { Path: "Tenant", pathSlice: []string{"Tenant"}, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -994,7 +994,7 @@ func TestLoaderSCfgloadFromJsonCfgCase5(t *testing.T) { Tag: "TenantID", Path: "Tenant", Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), Mandatory: true, }, }, @@ -2138,7 +2138,7 @@ func TestLoaderSCfgsClone(t *testing.T) { Path: "Tenant", pathSlice: []string{"Tenant"}, Type: utils.MetaComposed, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -2565,7 +2565,7 @@ func TestLoaderSCloneSection(t *testing.T) { Fields: []*FCTemplate{ {Tag: "Tenant", Path: utils.MetaRep + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, }, }, }, @@ -2596,7 +2596,7 @@ func TestLoaderSCloneSection(t *testing.T) { Fields: []*FCTemplate{ {Tag: "Tenant", Path: utils.MetaRep + utils.NestingSep + utils.Tenant, Type: utils.MetaVariable, - Value: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, + Value: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep)}, }, }, }, diff --git a/config/multifiles_it_test.go b/config/multifiles_it_test.go index 544db5248..b9b6efde6 100644 --- a/config/multifiles_it_test.go +++ b/config/multifiles_it_test.go @@ -96,14 +96,14 @@ func TestMfHttpAgentMultipleFields(t *testing.T) { { ID: "OutboundAUTHDryRun", Filters: []string{}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{"*dryRun": {}}, RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{{ Tag: "Allow", Path: "response.Allow", Type: "*constant", - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }}, @@ -111,7 +111,7 @@ func TestMfHttpAgentMultipleFields(t *testing.T) { { ID: "OutboundAUTH", Filters: []string{"*string:~*req.request_type:OutboundAUTH"}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{"*accounts": {}, "*attributes": {}, "*authorize": {}}, RequestFields: []*FCTemplate{ @@ -119,7 +119,7 @@ func TestMfHttpAgentMultipleFields(t *testing.T) { Tag: "RequestType", Path: "RequestType", Type: "*constant", - Value: NewRSRParsersMustCompile("*pseudoprepaid", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*pseudoprepaid", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -129,7 +129,7 @@ func TestMfHttpAgentMultipleFields(t *testing.T) { Tag: "Allow", Path: "response.Allow", Type: "*constant", - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -138,13 +138,13 @@ func TestMfHttpAgentMultipleFields(t *testing.T) { { ID: "mtcall_cdr", Filters: []string{"*string:~*req.request_type:MTCALL_CDR"}, - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{"*cdrs": {}}, RequestFields: []*FCTemplate{{ Tag: "RequestType", Path: "RequestType", Type: "*constant", - Value: NewRSRParsersMustCompile("*pseudoprepaid", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*pseudoprepaid", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }}, @@ -152,7 +152,7 @@ func TestMfHttpAgentMultipleFields(t *testing.T) { Tag: "CDR_ID", Path: "CDR_RESPONSE.CDR_ID", Type: "*variable", - Value: NewRSRParsersMustCompile("~*req.CDR_ID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.CDR_ID", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }}, @@ -167,14 +167,14 @@ func TestMfHttpAgentMultipleFields(t *testing.T) { ReplyPayload: "*xml", RequestProcessors: []*RequestProcessor{{ ID: "cdr_from_xml", - Tenant: NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("cgrates.org", utils.InfieldSep), Flags: utils.FlagsWithParams{"*cdrs": {}}, RequestFields: []*FCTemplate{ { Tag: "ToR", Path: "ToR", Type: "*constant", - Value: NewRSRParsersMustCompile("*data", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*data", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, diff --git a/config/radiuscfg_test.go b/config/radiuscfg_test.go index 996088cd4..22661e35a 100644 --- a/config/radiuscfg_test.go +++ b/config/radiuscfg_test.go @@ -70,14 +70,14 @@ func TestRadiusAgentCfgloadFromJsonCfgCase1(t *testing.T) { Filters: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, Flags: utils.FlagsWithParams{utils.MetaDryRun: {}}, Timezone: utils.EmptyString, - Tenant: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{ { Tag: "Allow", Path: "*rep.response.Allow", Type: utils.MetaConstant, - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, @@ -247,14 +247,14 @@ func TestRadiusAgentCfgClone(t *testing.T) { Filters: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, Flags: utils.FlagsWithParams{utils.MetaDryRun: {}}, Timezone: utils.EmptyString, - Tenant: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + Tenant: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), RequestFields: []*FCTemplate{}, ReplyFields: []*FCTemplate{ { Tag: "Allow", Path: "*rep.response.Allow", Type: utils.MetaConstant, - Value: NewRSRParsersMustCompile("1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), Mandatory: true, Layout: time.RFC3339, }, diff --git a/config/reqprocessorcfg.go b/config/reqprocessorcfg.go index 04d5309ca..a2d5ba2f2 100644 --- a/config/reqprocessorcfg.go +++ b/config/reqprocessorcfg.go @@ -27,7 +27,7 @@ import ( // RequestProcessor is the request processor configuration type RequestProcessor struct { ID string - Tenant RSRParsers + Tenant utils.RSRParsers Filters []string Flags utils.FlagsWithParams Timezone string @@ -52,7 +52,7 @@ func (rp *RequestProcessor) loadFromJSONCfg(jsnCfg *ReqProcessorJsnCfg) (err err rp.Timezone = *jsnCfg.Timezone } if jsnCfg.Tenant != nil { - if rp.Tenant, err = NewRSRParsers(*jsnCfg.Tenant, utils.RSRSep); err != nil { + if rp.Tenant, err = utils.NewRSRParsers(*jsnCfg.Tenant, utils.RSRSep); err != nil { return } } diff --git a/config/reqprocessorcfg_test.go b/config/reqprocessorcfg_test.go index 79a8106c9..b9c569113 100644 --- a/config/reqprocessorcfg_test.go +++ b/config/reqprocessorcfg_test.go @@ -32,7 +32,7 @@ func TestDiffReqProcessorJsnCfg(t *testing.T) { v1 := &RequestProcessor{ ID: "req_proc_id1", Filters: []string{"filter1"}, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "cgrates.org", }, @@ -60,7 +60,7 @@ func TestDiffReqProcessorJsnCfg(t *testing.T) { v2 := &RequestProcessor{ ID: "req_proc_id2", Filters: []string{"filter2"}, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "itsyscom.com", }, @@ -156,7 +156,7 @@ func TestDiffReqProcessorsJsnCfg(t *testing.T) { { ID: "req_proc_id1", Filters: []string{"filter1"}, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "cgrates.org", }, @@ -186,7 +186,7 @@ func TestDiffReqProcessorsJsnCfg(t *testing.T) { { ID: "req_proc_id2", Filters: []string{"filter2"}, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "itsyscom.com", }, @@ -311,7 +311,7 @@ func TestEqualsRequestProcessors(t *testing.T) { { ID: "req_proc_id1", Filters: []string{"filter1"}, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "cgrates.org", }, @@ -341,7 +341,7 @@ func TestEqualsRequestProcessors(t *testing.T) { { ID: "req_proc_id2", Filters: []string{"filter2"}, - Tenant: RSRParsers{ + Tenant: utils.RSRParsers{ { Rules: "itsyscom.com", }, diff --git a/config/sessionscfg_test.go b/config/sessionscfg_test.go index 71ca52d8c..39c5d97c2 100644 --- a/config/sessionscfg_test.go +++ b/config/sessionscfg_test.go @@ -763,7 +763,7 @@ func TestFsAgentCfgloadFromJsonCfgCase1(t *testing.T) { EmptyBalanceContext: "randomEmptyContext", ActiveSessionDelimiter: "/", MaxWaitConnection: 2, - ExtraFields: RSRParsers{}, + ExtraFields: utils.RSRParsers{}, EventSocketConns: []*FsConnCfg{ { Address: "1.2.3.4:8021", @@ -1306,7 +1306,7 @@ func TestFsAgentCfgClone(t *testing.T) { SubscribePark: true, EmptyBalanceAnnFile: "file", EmptyBalanceContext: "context", - ExtraFields: NewRSRParsersMustCompile("tenant", utils.InfieldSep), + ExtraFields: utils.NewRSRParsersMustCompile("tenant", utils.InfieldSep), LowBalanceAnnFile: "file2", MaxWaitConnection: time.Second, SessionSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaSessionS), "*conn1"}, @@ -1408,7 +1408,7 @@ func TestDiffFreeswitchAgentJsonCfg(t *testing.T) { SessionSConns: []string{}, SubscribePark: false, CreateCDR: false, - ExtraFields: RSRParsers{ + ExtraFields: utils.RSRParsers{ { Rules: "ExtraField", }, @@ -1425,7 +1425,7 @@ func TestDiffFreeswitchAgentJsonCfg(t *testing.T) { SessionSConns: []string{"*localhost"}, SubscribePark: true, CreateCDR: true, - ExtraFields: RSRParsers{ + ExtraFields: utils.RSRParsers{ { Rules: "ExtraField2", }, diff --git a/config/suretaxcfg.go b/config/suretaxcfg.go index 4978477ce..5cf532128 100644 --- a/config/suretaxcfg.go +++ b/config/suretaxcfg.go @@ -37,22 +37,22 @@ type SureTaxCfg struct { ResponseGroup string ResponseType string RegulatoryCode string - ClientTracking RSRParsers // Concatenate all of them to get value - CustomerNumber RSRParsers - OrigNumber RSRParsers - TermNumber RSRParsers - BillToNumber RSRParsers - Zipcode RSRParsers - Plus4 RSRParsers - P2PZipcode RSRParsers - P2PPlus4 RSRParsers - Units RSRParsers - UnitType RSRParsers - TaxIncluded RSRParsers - TaxSitusRule RSRParsers - TransTypeCode RSRParsers - SalesTypeCode RSRParsers - TaxExemptionCodeList RSRParsers + ClientTracking utils.RSRParsers // Concatenate all of them to get value + CustomerNumber utils.RSRParsers + OrigNumber utils.RSRParsers + TermNumber utils.RSRParsers + BillToNumber utils.RSRParsers + Zipcode utils.RSRParsers + Plus4 utils.RSRParsers + P2PZipcode utils.RSRParsers + P2PPlus4 utils.RSRParsers + Units utils.RSRParsers + UnitType utils.RSRParsers + TaxIncluded utils.RSRParsers + TaxSitusRule utils.RSRParsers + TransTypeCode utils.RSRParsers + SalesTypeCode utils.RSRParsers + TaxExemptionCodeList utils.RSRParsers } // loadSureTaxCfg loads the SureTax section of the configuration @@ -102,82 +102,82 @@ func (st *SureTaxCfg) loadFromJSONCfg(jsnCfg *SureTaxJsonCfg) (err error) { st.RegulatoryCode = *jsnCfg.Regulatory_code } if jsnCfg.Client_tracking != nil { - if st.ClientTracking, err = NewRSRParsers(*jsnCfg.Client_tracking, utils.InfieldSep); err != nil { + if st.ClientTracking, err = utils.NewRSRParsers(*jsnCfg.Client_tracking, utils.InfieldSep); err != nil { return err } } if jsnCfg.Customer_number != nil { - if st.CustomerNumber, err = NewRSRParsers(*jsnCfg.Customer_number, utils.InfieldSep); err != nil { + if st.CustomerNumber, err = utils.NewRSRParsers(*jsnCfg.Customer_number, utils.InfieldSep); err != nil { return err } } if jsnCfg.Orig_number != nil { - if st.OrigNumber, err = NewRSRParsers(*jsnCfg.Orig_number, utils.InfieldSep); err != nil { + if st.OrigNumber, err = utils.NewRSRParsers(*jsnCfg.Orig_number, utils.InfieldSep); err != nil { return err } } if jsnCfg.Term_number != nil { - if st.TermNumber, err = NewRSRParsers(*jsnCfg.Term_number, utils.InfieldSep); err != nil { + if st.TermNumber, err = utils.NewRSRParsers(*jsnCfg.Term_number, utils.InfieldSep); err != nil { return err } } if jsnCfg.Bill_to_number != nil { - if st.BillToNumber, err = NewRSRParsers(*jsnCfg.Bill_to_number, utils.InfieldSep); err != nil { + if st.BillToNumber, err = utils.NewRSRParsers(*jsnCfg.Bill_to_number, utils.InfieldSep); err != nil { return err } } if jsnCfg.Zipcode != nil { - if st.Zipcode, err = NewRSRParsers(*jsnCfg.Zipcode, utils.InfieldSep); err != nil { + if st.Zipcode, err = utils.NewRSRParsers(*jsnCfg.Zipcode, utils.InfieldSep); err != nil { return err } } if jsnCfg.Plus4 != nil { - if st.Plus4, err = NewRSRParsers(*jsnCfg.Plus4, utils.InfieldSep); err != nil { + if st.Plus4, err = utils.NewRSRParsers(*jsnCfg.Plus4, utils.InfieldSep); err != nil { return err } } if jsnCfg.P2PZipcode != nil { - if st.P2PZipcode, err = NewRSRParsers(*jsnCfg.P2PZipcode, utils.InfieldSep); err != nil { + if st.P2PZipcode, err = utils.NewRSRParsers(*jsnCfg.P2PZipcode, utils.InfieldSep); err != nil { return err } } if jsnCfg.P2PPlus4 != nil { - if st.P2PPlus4, err = NewRSRParsers(*jsnCfg.P2PPlus4, utils.InfieldSep); err != nil { + if st.P2PPlus4, err = utils.NewRSRParsers(*jsnCfg.P2PPlus4, utils.InfieldSep); err != nil { return err } } if jsnCfg.Units != nil { - if st.Units, err = NewRSRParsers(*jsnCfg.Units, utils.InfieldSep); err != nil { + if st.Units, err = utils.NewRSRParsers(*jsnCfg.Units, utils.InfieldSep); err != nil { return err } } if jsnCfg.Unit_type != nil { - if st.UnitType, err = NewRSRParsers(*jsnCfg.Unit_type, utils.InfieldSep); err != nil { + if st.UnitType, err = utils.NewRSRParsers(*jsnCfg.Unit_type, utils.InfieldSep); err != nil { return err } } if jsnCfg.Tax_included != nil { - if st.TaxIncluded, err = NewRSRParsers(*jsnCfg.Tax_included, utils.InfieldSep); err != nil { + if st.TaxIncluded, err = utils.NewRSRParsers(*jsnCfg.Tax_included, utils.InfieldSep); err != nil { return err } } if jsnCfg.Tax_situs_rule != nil { - if st.TaxSitusRule, err = NewRSRParsers(*jsnCfg.Tax_situs_rule, utils.InfieldSep); err != nil { + if st.TaxSitusRule, err = utils.NewRSRParsers(*jsnCfg.Tax_situs_rule, utils.InfieldSep); err != nil { return err } } if jsnCfg.Trans_type_code != nil { - if st.TransTypeCode, err = NewRSRParsers(*jsnCfg.Trans_type_code, utils.InfieldSep); err != nil { + if st.TransTypeCode, err = utils.NewRSRParsers(*jsnCfg.Trans_type_code, utils.InfieldSep); err != nil { return err } } if jsnCfg.Sales_type_code != nil { - if st.SalesTypeCode, err = NewRSRParsers(*jsnCfg.Sales_type_code, utils.InfieldSep); err != nil { + if st.SalesTypeCode, err = utils.NewRSRParsers(*jsnCfg.Sales_type_code, utils.InfieldSep); err != nil { return err } } if jsnCfg.Tax_exemption_code_list != nil { - if st.TaxExemptionCodeList, err = NewRSRParsers(*jsnCfg.Tax_exemption_code_list, utils.InfieldSep); err != nil { + if st.TaxExemptionCodeList, err = utils.NewRSRParsers(*jsnCfg.Tax_exemption_code_list, utils.InfieldSep); err != nil { return err } } diff --git a/config/suretaxcfg_test.go b/config/suretaxcfg_test.go index da580af4b..b0abaddfb 100644 --- a/config/suretaxcfg_test.go +++ b/config/suretaxcfg_test.go @@ -70,22 +70,22 @@ func TestSureTaxCfgloadFromJsonCfgCase1(t *testing.T) { ResponseGroup: "06", ResponseType: "A3", RegulatoryCode: "06", - ClientTracking: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - CustomerNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - OrigNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - TermNumber: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), - BillToNumber: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Zipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Plus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PZipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PPlus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Units: NewRSRParsersMustCompile("1", utils.InfieldSep), - UnitType: NewRSRParsersMustCompile("00", utils.InfieldSep), - TaxIncluded: NewRSRParsersMustCompile("0", utils.InfieldSep), - TaxSitusRule: NewRSRParsersMustCompile("04", utils.InfieldSep), - TransTypeCode: NewRSRParsersMustCompile("010101", utils.InfieldSep), - SalesTypeCode: NewRSRParsersMustCompile("R", utils.InfieldSep), - TaxExemptionCodeList: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + ClientTracking: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + CustomerNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + OrigNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + TermNumber: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + BillToNumber: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Zipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Plus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PZipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PPlus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Units: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), + UnitType: utils.NewRSRParsersMustCompile("00", utils.InfieldSep), + TaxIncluded: utils.NewRSRParsersMustCompile("0", utils.InfieldSep), + TaxSitusRule: utils.NewRSRParsersMustCompile("04", utils.InfieldSep), + TransTypeCode: utils.NewRSRParsersMustCompile("010101", utils.InfieldSep), + SalesTypeCode: utils.NewRSRParsersMustCompile("R", utils.InfieldSep), + TaxExemptionCodeList: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), } jsonCfg := NewDefaultCGRConfig() if err := jsonCfg.sureTaxCfg.loadFromJSONCfg(cfgJSON); err != nil { @@ -361,22 +361,22 @@ func TestSureTaxCfgClone(t *testing.T) { ResponseGroup: "06", ResponseType: "A3", RegulatoryCode: "06", - ClientTracking: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - CustomerNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - OrigNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - TermNumber: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), - BillToNumber: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Zipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Plus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PZipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PPlus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Units: NewRSRParsersMustCompile("1", utils.InfieldSep), - UnitType: NewRSRParsersMustCompile("00", utils.InfieldSep), - TaxIncluded: NewRSRParsersMustCompile("0", utils.InfieldSep), - TaxSitusRule: NewRSRParsersMustCompile("04", utils.InfieldSep), - TransTypeCode: NewRSRParsersMustCompile("010101", utils.InfieldSep), - SalesTypeCode: NewRSRParsersMustCompile("R", utils.InfieldSep), - TaxExemptionCodeList: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + ClientTracking: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + CustomerNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + OrigNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + TermNumber: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + BillToNumber: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Zipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Plus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PZipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PPlus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Units: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), + UnitType: utils.NewRSRParsersMustCompile("00", utils.InfieldSep), + TaxIncluded: utils.NewRSRParsersMustCompile("0", utils.InfieldSep), + TaxSitusRule: utils.NewRSRParsersMustCompile("04", utils.InfieldSep), + TransTypeCode: utils.NewRSRParsersMustCompile("010101", utils.InfieldSep), + SalesTypeCode: utils.NewRSRParsersMustCompile("R", utils.InfieldSep), + TaxExemptionCodeList: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), } rcv := ban.Clone() if !reflect.DeepEqual(ban, rcv) { @@ -403,22 +403,22 @@ func TestDiffSureTaxJson(t *testing.T) { ResponseGroup: "07", ResponseType: "A4", RegulatoryCode: "07", - ClientTracking: NewRSRParsersMustCompile("~*req.Destination2", utils.InfieldSep), - CustomerNumber: NewRSRParsersMustCompile("~*req.Destination2", utils.InfieldSep), - OrigNumber: NewRSRParsersMustCompile("~*req.Destination2", utils.InfieldSep), - TermNumber: NewRSRParsersMustCompile("~*opts.*originID2", utils.InfieldSep), - BillToNumber: NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), - Zipcode: NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), - Plus4: NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), - P2PZipcode: NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), - P2PPlus4: NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), - Units: NewRSRParsersMustCompile("2", utils.InfieldSep), - UnitType: NewRSRParsersMustCompile("000", utils.InfieldSep), - TaxIncluded: NewRSRParsersMustCompile("00", utils.InfieldSep), - TaxSitusRule: NewRSRParsersMustCompile("05", utils.InfieldSep), - TransTypeCode: NewRSRParsersMustCompile("01010101", utils.InfieldSep), - SalesTypeCode: NewRSRParsersMustCompile("S", utils.InfieldSep), - TaxExemptionCodeList: NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), + ClientTracking: utils.NewRSRParsersMustCompile("~*req.Destination2", utils.InfieldSep), + CustomerNumber: utils.NewRSRParsersMustCompile("~*req.Destination2", utils.InfieldSep), + OrigNumber: utils.NewRSRParsersMustCompile("~*req.Destination2", utils.InfieldSep), + TermNumber: utils.NewRSRParsersMustCompile("~*opts.*originID2", utils.InfieldSep), + BillToNumber: utils.NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), + Zipcode: utils.NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), + Plus4: utils.NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), + P2PZipcode: utils.NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), + P2PPlus4: utils.NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), + Units: utils.NewRSRParsersMustCompile("2", utils.InfieldSep), + UnitType: utils.NewRSRParsersMustCompile("000", utils.InfieldSep), + TaxIncluded: utils.NewRSRParsersMustCompile("00", utils.InfieldSep), + TaxSitusRule: utils.NewRSRParsersMustCompile("05", utils.InfieldSep), + TransTypeCode: utils.NewRSRParsersMustCompile("01010101", utils.InfieldSep), + SalesTypeCode: utils.NewRSRParsersMustCompile("S", utils.InfieldSep), + TaxExemptionCodeList: utils.NewRSRParsersMustCompile(utils.MetaNone, utils.InfieldSep), } tLocal2, err := time.LoadLocation("UTC") @@ -437,22 +437,22 @@ func TestDiffSureTaxJson(t *testing.T) { ResponseGroup: "06", ResponseType: "A3", RegulatoryCode: "06", - ClientTracking: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - CustomerNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - OrigNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - TermNumber: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), - BillToNumber: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Zipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Plus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PZipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PPlus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Units: NewRSRParsersMustCompile("1", utils.InfieldSep), - UnitType: NewRSRParsersMustCompile("00", utils.InfieldSep), - TaxIncluded: NewRSRParsersMustCompile("0", utils.InfieldSep), - TaxSitusRule: NewRSRParsersMustCompile("04", utils.InfieldSep), - TransTypeCode: NewRSRParsersMustCompile("010101", utils.InfieldSep), - SalesTypeCode: NewRSRParsersMustCompile("R", utils.InfieldSep), - TaxExemptionCodeList: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + ClientTracking: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + CustomerNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + OrigNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + TermNumber: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + BillToNumber: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Zipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Plus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PZipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PPlus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Units: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), + UnitType: utils.NewRSRParsersMustCompile("00", utils.InfieldSep), + TaxIncluded: utils.NewRSRParsersMustCompile("0", utils.InfieldSep), + TaxSitusRule: utils.NewRSRParsersMustCompile("04", utils.InfieldSep), + TransTypeCode: utils.NewRSRParsersMustCompile("010101", utils.InfieldSep), + SalesTypeCode: utils.NewRSRParsersMustCompile("R", utils.InfieldSep), + TaxExemptionCodeList: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), } expected := &SureTaxJsonCfg{ @@ -514,22 +514,22 @@ func TestSureTaxCloneSection(t *testing.T) { ResponseGroup: "06", ResponseType: "A3", RegulatoryCode: "06", - ClientTracking: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - CustomerNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - OrigNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - TermNumber: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), - BillToNumber: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Zipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Plus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PZipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PPlus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Units: NewRSRParsersMustCompile("1", utils.InfieldSep), - UnitType: NewRSRParsersMustCompile("00", utils.InfieldSep), - TaxIncluded: NewRSRParsersMustCompile("0", utils.InfieldSep), - TaxSitusRule: NewRSRParsersMustCompile("04", utils.InfieldSep), - TransTypeCode: NewRSRParsersMustCompile("010101", utils.InfieldSep), - SalesTypeCode: NewRSRParsersMustCompile("R", utils.InfieldSep), - TaxExemptionCodeList: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + ClientTracking: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + CustomerNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + OrigNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + TermNumber: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + BillToNumber: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Zipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Plus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PZipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PPlus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Units: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), + UnitType: utils.NewRSRParsersMustCompile("00", utils.InfieldSep), + TaxIncluded: utils.NewRSRParsersMustCompile("0", utils.InfieldSep), + TaxSitusRule: utils.NewRSRParsersMustCompile("04", utils.InfieldSep), + TransTypeCode: utils.NewRSRParsersMustCompile("010101", utils.InfieldSep), + SalesTypeCode: utils.NewRSRParsersMustCompile("R", utils.InfieldSep), + TaxExemptionCodeList: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), } exp := &SureTaxCfg{ @@ -543,22 +543,22 @@ func TestSureTaxCloneSection(t *testing.T) { ResponseGroup: "06", ResponseType: "A3", RegulatoryCode: "06", - ClientTracking: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - CustomerNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - OrigNumber: NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), - TermNumber: NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), - BillToNumber: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Zipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Plus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PZipcode: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - P2PPlus4: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), - Units: NewRSRParsersMustCompile("1", utils.InfieldSep), - UnitType: NewRSRParsersMustCompile("00", utils.InfieldSep), - TaxIncluded: NewRSRParsersMustCompile("0", utils.InfieldSep), - TaxSitusRule: NewRSRParsersMustCompile("04", utils.InfieldSep), - TransTypeCode: NewRSRParsersMustCompile("010101", utils.InfieldSep), - SalesTypeCode: NewRSRParsersMustCompile("R", utils.InfieldSep), - TaxExemptionCodeList: NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + ClientTracking: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + CustomerNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + OrigNumber: utils.NewRSRParsersMustCompile("~*req.Destination1", utils.InfieldSep), + TermNumber: utils.NewRSRParsersMustCompile("~*opts.*originID", utils.InfieldSep), + BillToNumber: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Zipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Plus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PZipcode: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + P2PPlus4: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), + Units: utils.NewRSRParsersMustCompile("1", utils.InfieldSep), + UnitType: utils.NewRSRParsersMustCompile("00", utils.InfieldSep), + TaxIncluded: utils.NewRSRParsersMustCompile("0", utils.InfieldSep), + TaxSitusRule: utils.NewRSRParsersMustCompile("04", utils.InfieldSep), + TransTypeCode: utils.NewRSRParsersMustCompile("010101", utils.InfieldSep), + SalesTypeCode: utils.NewRSRParsersMustCompile("R", utils.InfieldSep), + TaxExemptionCodeList: utils.NewRSRParsersMustCompile(utils.EmptyString, utils.InfieldSep), } rcv := stCfg.CloneSection() diff --git a/console/parse.go b/console/parse.go index 16ad333d6..2c724c23f 100644 --- a/console/parse.go +++ b/console/parse.go @@ -19,7 +19,6 @@ along with this program. If not, see package console import ( - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" ) @@ -74,7 +73,7 @@ func (self *CmdParse) LocalExecute() string { if self.rpcParams.Value == utils.EmptyString { return "Empty value error" } - if rsrField, err := config.NewRSRParser(self.rpcParams.Expression); err != nil { + if rsrField, err := utils.NewRSRParser(self.rpcParams.Expression); err != nil { return err.Error() } else if parsed, err := rsrField.ParseValue(self.rpcParams.Value); err != nil { return err.Error() diff --git a/ees/filecsv_test.go b/ees/filecsv_test.go index 82f7b273c..935f9e25d 100644 --- a/ees/filecsv_test.go +++ b/ees/filecsv_test.go @@ -70,11 +70,11 @@ func TestFileCsvComposeHeader(t *testing.T) { fCsv.Cfg().Fields = []*config.FCTemplate{ { Path: "*hdr.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), }, { Path: "*hdr.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), }, } for _, field := range fCsv.Cfg().Fields { @@ -95,12 +95,12 @@ func TestFileCsvComposeHeader(t *testing.T) { fCsv.Cfg().Fields = []*config.FCTemplate{ { Path: "*hdr.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, { Path: "*hdr.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, } @@ -133,11 +133,11 @@ func TestFileCsvComposeTrailer(t *testing.T) { fCsv.Cfg().Fields = []*config.FCTemplate{ { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), }, { Path: "*trl.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), }, } for _, field := range fCsv.Cfg().Fields { @@ -158,12 +158,12 @@ func TestFileCsvComposeTrailer(t *testing.T) { fCsv.Cfg().Fields = []*config.FCTemplate{ { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, } @@ -229,12 +229,12 @@ func TestFileCsvOnEvictedTrailer(t *testing.T) { fCsv.Cfg().Fields = []*config.FCTemplate{ { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, { Path: "*trl.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, } @@ -263,11 +263,11 @@ func TestFileCsvOnEvictedClose(t *testing.T) { fCsv.Cfg().Fields = []*config.FCTemplate{ { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), }, { Path: "*trl.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), }, } for _, field := range fCsv.Cfg().Fields { diff --git a/ees/filefwv_test.go b/ees/filefwv_test.go index 410e6ebea..8a2c62d89 100644 --- a/ees/filefwv_test.go +++ b/ees/filefwv_test.go @@ -60,11 +60,11 @@ func TestFileFwvComposeHeader(t *testing.T) { fFwv.Cfg().Fields = []*config.FCTemplate{ { Path: "*hdr.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), }, { Path: "*hdr.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), }, } for _, field := range fFwv.Cfg().Fields { @@ -85,12 +85,12 @@ func TestFileFwvComposeHeader(t *testing.T) { fFwv.Cfg().Fields = []*config.FCTemplate{ { Path: "*hdr.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, { Path: "*hdr.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, } @@ -122,11 +122,11 @@ func TestFileFwvComposeTrailer(t *testing.T) { fFwv.Cfg().Fields = []*config.FCTemplate{ { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), }, { Path: "*trl.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), }, } for _, field := range fFwv.Cfg().Fields { @@ -147,12 +147,12 @@ func TestFileFwvComposeTrailer(t *testing.T) { fFwv.Cfg().Fields = []*config.FCTemplate{ { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), Filters: []string{"*wrong-type"}, }, } @@ -242,11 +242,11 @@ func TestFileFwvComposeHeaderWriteError(t *testing.T) { fFwv.Cfg().Fields = []*config.FCTemplate{ { Path: "*hdr.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), }, { Path: "*hdr.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), }, } for _, field := range fFwv.Cfg().Fields { @@ -274,11 +274,11 @@ func TestFileFwvComposeTrailerWriteError(t *testing.T) { fFwv.Cfg().Fields = []*config.FCTemplate{ { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), }, { Path: "*trl.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), }, } for _, field := range fFwv.Cfg().Fields { @@ -305,11 +305,11 @@ func TestFileFwvOnEvictedTrailer(t *testing.T) { fFwv.Cfg().Fields = []*config.FCTemplate{ { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), }, { Path: "*trl.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), }, } for _, field := range fFwv.Cfg().Fields { @@ -343,11 +343,11 @@ func TestFileFwvOnEvictedClose(t *testing.T) { fFwv.Cfg().Fields = []*config.FCTemplate{ { Path: "*trl.1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field1", utils.InfieldSep), }, { Path: "*trl.2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("field2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("field2", utils.InfieldSep), }, } for _, field := range fFwv.Cfg().Fields { diff --git a/engine/actionprofile.go b/engine/actionprofile.go index 08bd9dc38..15c97897a 100644 --- a/engine/actionprofile.go +++ b/engine/actionprofile.go @@ -25,7 +25,6 @@ import ( "time" "github.com/cgrates/birpc/context" - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" ) @@ -77,13 +76,13 @@ type APDiktat struct { Path string // Path to execute Value string // Value to execute on Path - valRSR config.RSRParsers + valRSR utils.RSRParsers } // RSRValues returns the Value as RSRParsers -func (dk *APDiktat) RSRValues() (config.RSRParsers, error) { +func (dk *APDiktat) RSRValues() (utils.RSRParsers, error) { if dk.valRSR == nil { - return config.NewRSRParsers(dk.Value, utils.RSRSep) + return utils.NewRSRParsers(dk.Value, utils.RSRSep) } return dk.valRSR, nil } diff --git a/engine/actionprofile_test.go b/engine/actionprofile_test.go index a265d5f1a..3772bf6b8 100644 --- a/engine/actionprofile_test.go +++ b/engine/actionprofile_test.go @@ -102,11 +102,11 @@ func TestActionProfileSort(t *testing.T) { func TestActionAPDiktatRSRValues(t *testing.T) { apdDiktat := APDiktat{ - valRSR: config.RSRParsers{ - &config.RSRParser{ + valRSR: utils.RSRParsers{ + &utils.RSRParser{ Rules: ">;q=0.7;expires=3600", }, - &config.RSRParser{ + &utils.RSRParser{ Rules: ">;q=0.7;expires=3600", }, }, @@ -115,11 +115,11 @@ func TestActionAPDiktatRSRValues(t *testing.T) { if err != nil { t.Error(err) } - expected := config.RSRParsers{ - &config.RSRParser{ + expected := utils.RSRParsers{ + &utils.RSRParser{ Rules: ">;q=0.7;expires=3600", }, - &config.RSRParser{ + &utils.RSRParser{ Rules: ">;q=0.7;expires=3600", }, } @@ -135,7 +135,7 @@ func TestActionAPDiktatRSRValuesNil(t *testing.T) { if err != nil { t.Error(err) } - var expected config.RSRParsers + var expected utils.RSRParsers if !reflect.DeepEqual(rsrPars, expected) { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", utils.ToJSON(expected), utils.ToJSON(rsrPars)) @@ -157,7 +157,7 @@ func TestAPDiktatRSRValues(t *testing.T) { dk := &APDiktat{Value: "1001"} if rply, err := dk.RSRValues(); err != nil { return - } else if exp := config.NewRSRParsersMustCompile("1001", utils.InfieldSep); !reflect.DeepEqual(exp, rply) { + } else if exp := utils.NewRSRParsersMustCompile("1001", utils.InfieldSep); !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: %+v ,received: %+v", exp, rply) } } diff --git a/engine/attributes.go b/engine/attributes.go index 23ad560e3..b1971aa9e 100644 --- a/engine/attributes.go +++ b/engine/attributes.go @@ -364,7 +364,7 @@ func (alS *AttributeS) V1ProcessEvent(ctx *context.Context, args *utils.CGREvent return } -func ParseAttribute(dp utils.DataProvider, attrType, path string, value config.RSRParsers, roundingDec int, timeZone, layout string) ( +func ParseAttribute(dp utils.DataProvider, attrType, path string, value utils.RSRParsers, roundingDec int, timeZone, layout string) ( out any, err error) { switch attrType { case utils.MetaNone: @@ -467,8 +467,8 @@ func ParseAttribute(dp utils.DataProvider, attrType, path string, value config.R } out = dtFld.Format(layout) case utils.MetaPrefix: - var pathRsr config.RSRParsers - pathRsr, err = config.NewRSRParsers(path, utils.RSRSep) + var pathRsr utils.RSRParsers + pathRsr, err = utils.NewRSRParsers(path, utils.RSRSep) if err != nil { return } @@ -482,8 +482,8 @@ func ParseAttribute(dp utils.DataProvider, attrType, path string, value config.R } out = val + pathVal case utils.MetaSuffix: - var pathRsr config.RSRParsers - pathRsr, err = config.NewRSRParsers(path, utils.RSRSep) + var pathRsr utils.RSRParsers + pathRsr, err = utils.NewRSRParsers(path, utils.RSRSep) if err != nil { return } diff --git a/engine/attributes_test.go b/engine/attributes_test.go index 610678f7e..337374d74 100644 --- a/engine/attributes_test.go +++ b/engine/attributes_test.go @@ -38,7 +38,7 @@ func TestParseAtributeUsageDiffVal1(t *testing.T) { "usage2": "35", }, } - _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.wrong;~*req.usage2", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.wrong;~*req.usage2", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -53,7 +53,7 @@ func TestParseAtributeUsageDiffVal2(t *testing.T) { "usage2": "35", }, } - _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.usage1;~*req.wrong", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.usage1;~*req.wrong", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -67,7 +67,7 @@ func TestParseAtributeUsageDiffTimeVal1(t *testing.T) { "usage2": "35s", }, } - _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.usage1;~*req.usage2", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.usage1;~*req.usage2", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := "Unsupported time format" if err == nil || err.Error() != errExp { @@ -82,7 +82,7 @@ func TestParseAtributeUsageDiffTimeVal2(t *testing.T) { "usage2": "35", }, } - _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.usage1;~*req.usage2", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.usage1;~*req.usage2", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := "Unsupported time format" if err == nil || err.Error() != errExp { @@ -96,7 +96,7 @@ func TestParseAtributeSum(t *testing.T) { "not_valid": "field", }, } - _, err := ParseAttribute(dp, utils.MetaSum, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.valid", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaSum, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.valid", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -109,7 +109,7 @@ func TestParseAtributeDifference(t *testing.T) { "not_valid": "field", }, } - _, err := ParseAttribute(dp, utils.MetaDifference, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.valid", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaDifference, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.valid", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -122,7 +122,7 @@ func TestParseAtributeMultiply(t *testing.T) { "not_valid": "field", }, } - _, err := ParseAttribute(dp, utils.MetaMultiply, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.valid", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaMultiply, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.valid", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -135,7 +135,7 @@ func TestParseAtributeDivide(t *testing.T) { "not_valid": "field", }, } - _, err := ParseAttribute(dp, utils.MetaDivide, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.valid", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaDivide, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.valid", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -149,7 +149,7 @@ func TestParseAtributeExponentVal1(t *testing.T) { "exponent": "2", }, } - _, err := ParseAttribute(dp, utils.MetaValueExponent, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.wrong;~*req.exponent", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaValueExponent, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.wrong;~*req.exponent", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -163,7 +163,7 @@ func TestParseAtributeExponentVal2(t *testing.T) { "exponent": "2", }, } - _, err := ParseAttribute(dp, utils.MetaValueExponent, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.number;~*req.wrong", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaValueExponent, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.number;~*req.wrong", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -177,7 +177,7 @@ func TestParseAtributeExponentWrongNumber(t *testing.T) { "exponent": "2", }, } - _, err := ParseAttribute(dp, utils.MetaValueExponent, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.number;~*req.exponent", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaValueExponent, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.number;~*req.exponent", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := "invalid value to *valueExponent" if err == nil || err.Error() != errExp { @@ -192,7 +192,7 @@ func TestParseAtributeExponentWrongExponent(t *testing.T) { "exponent": "NaN", }, } - _, err := ParseAttribute(dp, utils.MetaValueExponent, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.number;~*req.exponent", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaValueExponent, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.number;~*req.exponent", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := `strconv.Atoi: parsing "NaN": invalid syntax` if err == nil || err.Error() != errExp { @@ -206,7 +206,7 @@ func TestParseAtributeUnixTimestampWrongField(t *testing.T) { "unix_timestamp": "not_a_unix_timestamp", }, } - _, err := ParseAttribute(dp, utils.MetaUnixTimestamp, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.wrong", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaUnixTimestamp, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.wrong", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -219,7 +219,7 @@ func TestParseAtributeUnixTimestampWrongVal(t *testing.T) { "unix_timestamp": "not_a_unix_timestamp", }, } - _, err := ParseAttribute(dp, utils.MetaUnixTimestamp, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.unix_timestamp", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaUnixTimestamp, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.unix_timestamp", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := "Unsupported time format" if err == nil || err.Error() != errExp { @@ -233,7 +233,7 @@ func TestParseAtributePrefixPath(t *testing.T) { "prefix": "prfx", }, } - _, err := ParseAttribute(dp, utils.MetaPrefix, "```", config.NewRSRParsersMustCompile("~*req.prefix", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaPrefix, "```", utils.NewRSRParsersMustCompile("~*req.prefix", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := "Closed unspilit syntax" if err == nil || err.Error() != errExp { @@ -247,7 +247,7 @@ func TestParseAtributePrefixField(t *testing.T) { "prefix": "prfx", }, } - _, err := ParseAttribute(dp, utils.MetaPrefix, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.wrong", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaPrefix, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.wrong", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -260,7 +260,7 @@ func TestParseAtributeSuffixPath(t *testing.T) { "suffix": "sfx", }, } - _, err := ParseAttribute(dp, utils.MetaSuffix, "```", config.NewRSRParsersMustCompile("~*req.suffix", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaSuffix, "```", utils.NewRSRParsersMustCompile("~*req.suffix", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := "Closed unspilit syntax" if err == nil || err.Error() != errExp { @@ -274,7 +274,7 @@ func TestParseAtributeSuffixField(t *testing.T) { "suffix": "sfx", }, } - _, err := ParseAttribute(dp, utils.MetaSuffix, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.wrong", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaSuffix, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.wrong", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -289,7 +289,7 @@ func TestParseAtributeCCUsageLessThanTwo(t *testing.T) { // "cc3": "sfx", }, } - _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := `invalid arguments <[{"Rules":"~*req.cc1"},{"Rules":"~*req.cc2"}]> to *ccUsage` if err == nil || err.Error() != errExp { @@ -305,7 +305,7 @@ func TestParseAtributeCCUsageField1(t *testing.T) { "cc3": "sfx", }, } - _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.wrong;~*req.cc2;~*req.cc3", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.wrong;~*req.cc2;~*req.cc3", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -320,7 +320,7 @@ func TestParseAtributeCCUsageVal1(t *testing.T) { "cc3": "sfx", }, } - _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := `invalid requestNumber to *ccUsage` if err == nil || err.Error() != errExp { @@ -336,7 +336,7 @@ func TestParseAtributeCCUsageField2(t *testing.T) { "cc3": "sfx", }, } - _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cc1;~*req.wrong;~*req.cc3", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cc1;~*req.wrong;~*req.cc3", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -351,7 +351,7 @@ func TestParseAtributeCCUsageVal2(t *testing.T) { "cc3": "sfx", }, } - _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := `invalid usedCCTime to *ccUsage` if err == nil || err.Error() != errExp { @@ -367,7 +367,7 @@ func TestParseAtributeCCUsageField3(t *testing.T) { "cc3": "sfx", }, } - _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.wrong", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.wrong", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -382,7 +382,7 @@ func TestParseAtributeCCUsageVal3(t *testing.T) { "cc3": "sfx", }, } - _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := `invalid debitInterval to *ccUsage` if err == nil || err.Error() != errExp { @@ -398,7 +398,7 @@ func TestParseAtributeCCUsageNoErr(t *testing.T) { "cc3": "20", }, } - out, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), + out, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err != nil { t.Error(err) @@ -442,7 +442,7 @@ func TestAttributeProfileForEventWeightFromDynamicsErr(t *testing.T) { t.Fatal(err) } - value := config.NewRSRParsersMustCompile("abcd123", utils.RSRSep) + value := utils.NewRSRParsersMustCompile("abcd123", utils.RSRSep) attrPrf := &AttributeProfile{ Tenant: "cgrates.org", @@ -506,7 +506,7 @@ func TestAttributeProcessEventBlockerFromDynamicsErr(t *testing.T) { filterS := NewFilterS(cfg, nil, dm) attrS := NewAttributeService(dm, filterS, cfg) - value := config.NewRSRParsersMustCompile("abcd123", utils.RSRSep) + value := utils.NewRSRParsersMustCompile("abcd123", utils.RSRSep) attrPrf := &AttributeProfile{ Tenant: "cgrates.org", @@ -587,7 +587,7 @@ func TestAttributeSProcessEventPassErr(t *testing.T) { FilterIDs: []string{"*apiban:~*req.<~*req.IP>{*}:*all"}, Path: "*req.Password", Type: utils.MetaPassword, - Value: config.NewRSRParsersMustCompile("abcd123", utils.RSRSep), + Value: utils.NewRSRParsersMustCompile("abcd123", utils.RSRSep), }, }, Weights: utils.DynamicWeights{ @@ -654,7 +654,7 @@ func TestAttributeSProcessAttrBlockerFromDynamicsErr(t *testing.T) { }}, Path: "*req.Password", Type: utils.MetaPassword, - Value: config.NewRSRParsersMustCompile("abcd123", utils.RSRSep), + Value: utils.NewRSRParsersMustCompile("abcd123", utils.RSRSep), }, }, Weights: utils.DynamicWeights{ @@ -712,7 +712,7 @@ func TestAttributeSProcessSubstituteRmvBlockerTrue(t *testing.T) { { Path: utils.MetaRemove, Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile(utils.MetaRemove, utils.RSRSep), + Value: utils.NewRSRParsersMustCompile(utils.MetaRemove, utils.RSRSep), }, { Blockers: utils.DynamicBlockers{{ @@ -720,7 +720,7 @@ func TestAttributeSProcessSubstituteRmvBlockerTrue(t *testing.T) { }}, Path: "*req.Password", Type: utils.MetaPassword, - Value: config.NewRSRParsersMustCompile("abcd123", utils.RSRSep), + Value: utils.NewRSRParsersMustCompile("abcd123", utils.RSRSep), }, }, Weights: utils.DynamicWeights{ @@ -788,7 +788,7 @@ func TestV1GetAttributeForEventAttrProfEventErr(t *testing.T) { { Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, }, @@ -842,7 +842,7 @@ func TestAttributesV1ProcessEventFieldMissingErr(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{{Blocker: false}}, @@ -880,7 +880,7 @@ func TestParseAtributeUsageDiffDetectLayoutErr2(t *testing.T) { "usage2": "35", }, } - _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.UnixTimeStamp;~*req.usage2", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.UnixTimeStamp;~*req.usage2", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) errExp := "Unsupported time format" if err == nil || err.Error() != errExp { @@ -891,7 +891,7 @@ func TestParseAtributeUsageDiffDetectLayoutErr2(t *testing.T) { func TestParseAtributeMetaPrefixParseDPErr(t *testing.T) { dp := utils.MapStorage{} - _, err := ParseAttribute(dp, utils.MetaPrefix, "constant;`>;q=0.7;expires=3600`;~*req.Account", config.NewRSRParsersMustCompile("~*req.UnixTimeStamp;~*req.usage2", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaPrefix, "constant;`>;q=0.7;expires=3600`;~*req.Account", utils.NewRSRParsersMustCompile("~*req.UnixTimeStamp;~*req.usage2", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -901,7 +901,7 @@ func TestParseAtributeMetaPrefixParseDPErr(t *testing.T) { func TestParseAtributeMetaSuffixParseDPErr(t *testing.T) { dp := utils.MapStorage{} - _, err := ParseAttribute(dp, utils.MetaSuffix, "constant;`>;q=0.7;expires=3600`;~*req.Account", config.NewRSRParsersMustCompile("~*req.UnixTimeStamp;~*req.usage2", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaSuffix, "constant;`>;q=0.7;expires=3600`;~*req.Account", utils.NewRSRParsersMustCompile("~*req.UnixTimeStamp;~*req.usage2", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -916,7 +916,7 @@ func TestParseAtributeCCUsageNegativeReqNr(t *testing.T) { "cc3": "-20", }, } - out, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), + out, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cc1;~*req.cc2;~*req.cc3", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err != nil { t.Error(err) @@ -949,7 +949,7 @@ func TestAttributeFromHTTP(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Category", Type: attrType, - Value: config.NewRSRParsersMustCompile("*attributes", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*attributes", utils.InfieldSep), }, }, } diff --git a/engine/caches_test.go b/engine/caches_test.go index 873aab732..3e1398029 100644 --- a/engine/caches_test.go +++ b/engine/caches_test.go @@ -605,7 +605,7 @@ func TestCacheSCacheDataFromDB(t *testing.T) { { Path: "*opts.RateSProfile", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -718,7 +718,7 @@ func TestCacheSV1LoadCache(t *testing.T) { { Path: "*opts.RateSProfile", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -771,7 +771,7 @@ func TestCacheSV1ReloadCache(t *testing.T) { { Path: "*opts.RateSProfile", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1358,7 +1358,7 @@ func TestCacheSPrecachePartitions(t *testing.T) { { Path: "*opts.RateSProfile", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("RP_2", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ diff --git a/engine/datamanager.go b/engine/datamanager.go index cf7696244..f8aa59db6 100644 --- a/engine/datamanager.go +++ b/engine/datamanager.go @@ -1879,7 +1879,7 @@ func (dm *DataManager) SetAttributeProfile(ctx *context.Context, ap *AttributePr if password, err = utils.ComputeHash(password); err != nil { return } - if attribute.Value, err = config.NewRSRParsers(password, utils.RSRSep); err != nil { + if attribute.Value, err = utils.NewRSRParsers(password, utils.RSRSep); err != nil { return } attribute.Type = utils.MetaConstant diff --git a/engine/datamanager_test.go b/engine/datamanager_test.go index 0d1a1fd43..ec64df833 100644 --- a/engine/datamanager_test.go +++ b/engine/datamanager_test.go @@ -6466,7 +6466,7 @@ func TestDMRemoveAttributeProfileGetAttributeProfileErr(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -6499,7 +6499,7 @@ func TestDMRemoveAttributeProfileRemoveAttributeProfileDrvErr(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -6551,7 +6551,7 @@ func TestDMRemoveAttributeProfileRmvItemFromFiltrIndexErr(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -6575,7 +6575,7 @@ func TestDMRemoveAttributeProfileRmvIndexFiltersItemErr(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -6613,7 +6613,7 @@ func TestDMRemoveAttributeProfileReplicate(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -7323,7 +7323,7 @@ func TestDMSetAttributeProfileCheckFiltersErr(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -7353,7 +7353,7 @@ func TestDMSetAttributeProfileGetAttributeProfileErr(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -7383,7 +7383,7 @@ func TestDMSetAttributeProfileSetAttributeProfileDrvErr(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -7414,7 +7414,7 @@ func TestDMSetAttributeProfileUpdatedIndexesErr(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -7440,7 +7440,7 @@ func TestDMSetAttributeProfileReplicate(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -7501,7 +7501,7 @@ func TestDMGetAttributeProfileSetAttributeProfileDrvErr(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -7546,7 +7546,7 @@ func TestDMSetAttributeProfileComputeHashErr(t *testing.T) { } cM := NewConnManager(cfg) dm := NewDataManager(data, cfg.CacheCfg(), cM) - value := config.NewRSRParsersMustCompile("31 0a 0a 32 0a 0a 33 0a 0a 34 0a 0a 35 0a 0a 36 0a 0a 37 0a 0a 38 0a 0a 39 0a 0a 31 30 0a 0a 31", utils.RSRSep) + value := utils.NewRSRParsersMustCompile("31 0a 0a 32 0a 0a 33 0a 0a 34 0a 0a 35 0a 0a 36 0a 0a 37 0a 0a 38 0a 0a 39 0a 0a 31 30 0a 0a 31", utils.RSRSep) attrPrfl := &AttributeProfile{ Tenant: "cgrates.org", ID: "ATTR_ID", @@ -8408,7 +8408,7 @@ func TestDMGetAttributeProfileCacheWriteErr1(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -8488,7 +8488,7 @@ func TestDMGetAttributeProfileCacheWriteErr2(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), diff --git a/engine/exportrequest_test.go b/engine/exportrequest_test.go index 5bb0136ef..0167a5e99 100644 --- a/engine/exportrequest_test.go +++ b/engine/exportrequest_test.go @@ -33,7 +33,7 @@ func TestExportRequestParseFieldDateTimeDaily(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*daily", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*daily", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "", } @@ -61,7 +61,7 @@ func TestExportReqParseFieldDateTimeTimeZone(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*daily", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*daily", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -89,7 +89,7 @@ func TestExportReqParseFieldDateTimeMonthly(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*monthly", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*monthly", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -116,7 +116,7 @@ func TestExportReqParseFieldDateTimeMonthlyEstimated(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*monthly_estimated", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*monthly_estimated", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -143,7 +143,7 @@ func TestExportReqParseFieldDateTimeYearly(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*yearly", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*yearly", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -170,7 +170,7 @@ func TestExportReqParseFieldDateTimeMetaUnlimited(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile(utils.MetaUnlimited, utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(utils.MetaUnlimited, utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -197,7 +197,7 @@ func TestExportReqParseFieldDateTimeEmpty(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -224,7 +224,7 @@ func TestExportReqParseFieldDateTimeMonthEnd(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "Local", } @@ -251,7 +251,7 @@ func TestExportReqParseFieldDateTimeError(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaDateTime, - Value: config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "/", } @@ -263,7 +263,7 @@ func TestExportReqParseFieldDateTimeError(t *testing.T) { } func TestExportReqParseFieldDateTimeError2(t *testing.T) { - prsr, err := config.NewRSRParsersFromSlice([]string{"2.", "~*opts.*originID<~*opts.Converter>"}) + prsr, err := utils.NewRSRParsersFromSlice([]string{"2.", "~*opts.*originID<~*opts.Converter>"}) if err != nil { t.Fatal(err) } @@ -448,7 +448,7 @@ func TestExportRequestParseFieldMetaFiller(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaFiller, - Value: config.NewRSRParsersMustCompile("*daily", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*daily", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "", } @@ -467,7 +467,7 @@ func TestExportRequestParseFieldMetaGroup(t *testing.T) { EventReq := NewExportRequest(map[string]utils.DataStorage{}, "", nil, nil) fctTemp := &config.FCTemplate{ Type: utils.MetaGroup, - Value: config.NewRSRParsersMustCompile("*daily", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*daily", utils.InfieldSep), Layout: "“Mon Jan _2 15:04:05 2006”", Timezone: "", } @@ -973,7 +973,7 @@ func TestExportRequestSetFieldsPassErr(t *testing.T) { { Tag: "Tor", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("*voice", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*voice", utils.InfieldSep), Path: "*cgreq.ToR", Filters: []string{"inexistant"}, }, @@ -1009,7 +1009,7 @@ func TestExportRequestSetFieldsPassFalse(t *testing.T) { { Tag: "Tor", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("*voice", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*voice", utils.InfieldSep), Path: "*cgreq.ToR", Filters: []string{"*gt:~*opts.*rateSCost.Cost:0.5"}, }, diff --git a/engine/filters.go b/engine/filters.go index 8ac11243e..ebe146e88 100644 --- a/engine/filters.go +++ b/engine/filters.go @@ -321,12 +321,12 @@ func NewFilterRule(rfType, fieldName string, vals []string) (*FilterRule, error) // FilterRule filters requests coming into various places // Pass rule: default negative, one matching rule should pass the filter type FilterRule struct { - Type string // Filter type (*string, *timing, *rsr_filters, *stats, *lt, *lte, *gt, *gte) - Element string // Name of the field providing us the Values to check (used in case of some ) - Values []string // Filter definition - rsrValues config.RSRParsers // Cache here the - rsrElement *config.RSRParser // Cache here the - rsrFilters utils.RSRFilters // Cache here the RSRFilter Values + Type string // Filter type (*string, *timing, *rsr_filters, *stats, *lt, *lte, *gt, *gte) + Element string // Name of the field providing us the Values to check (used in case of some ) + Values []string // Filter definition + rsrValues utils.RSRParsers // Cache here the + rsrElement *utils.RSRParser // Cache here the + rsrFilters utils.RSRFilters // Cache here the RSRFilter Values regexValues []*regexp.Regexp negative *bool } @@ -364,20 +364,20 @@ func (fltr *FilterRule) CompileValues() (err error) { } case utils.MetaExists, utils.MetaNotExists, utils.MetaEmpty, utils.MetaNotEmpty: // only the element is built case utils.MetaActivationInterval, utils.MetaNotActivationInterval: - fltr.rsrValues = make(config.RSRParsers, len(fltr.Values)) + fltr.rsrValues = make(utils.RSRParsers, len(fltr.Values)) for i, strVal := range fltr.Values { - if fltr.rsrValues[i], err = config.NewRSRParser(strVal); err != nil { + if fltr.rsrValues[i], err = utils.NewRSRParser(strVal); err != nil { return } } case utils.MetaNever: //return since there is not need for the values to be compiled in this case return default: - if fltr.rsrValues, err = config.NewRSRParsersFromSlice(fltr.Values); err != nil { + if fltr.rsrValues, err = utils.NewRSRParsersFromSlice(fltr.Values); err != nil { return } } - if fltr.rsrElement, err = config.NewRSRParser(fltr.Element); err != nil { + if fltr.rsrElement, err = utils.NewRSRParser(fltr.Element); err != nil { return } else if fltr.rsrElement == nil { return fmt.Errorf("empty RSRParser in rule: <%s>", fltr.Element) @@ -718,7 +718,7 @@ func (fltr *FilterRule) passSentryPeer(ctx *context.Context, dDP utils.DataProvi return GetSentryPeer(ctx, strVal, config.CgrConfig().SentryPeerCfg(), fltr.Values[0]) } -func parseTime(rsr *config.RSRParser, dDp utils.DataProvider) (_ time.Time, err error) { +func parseTime(rsr *utils.RSRParser, dDp utils.DataProvider) (_ time.Time, err error) { var str string if str, err = rsr.ParseDataProvider(dDp); err != nil { return diff --git a/engine/filters_test.go b/engine/filters_test.go index c4dc2e23c..658ee75c8 100644 --- a/engine/filters_test.go +++ b/engine/filters_test.go @@ -2162,7 +2162,7 @@ func TestPassNever(t *testing.T) { func TestFilterRulePassRegexParseErrNotFound(t *testing.T) { - rsrBadParse := config.NewRSRParserMustCompile("~*opts.<~*opts.*originID;~*req.RunID;-Cost>") + rsrBadParse := utils.NewRSRParserMustCompile("~*opts.<~*opts.*originID;~*req.RunID;-Cost>") fltr := &FilterRule{ @@ -2182,7 +2182,7 @@ func TestFilterRulePassRegexParseErrNotFound(t *testing.T) { func TestFilterRulePassRegexParseErr(t *testing.T) { - rsrBadParse, err := config.NewRSRParser("~*opts.*originID<~*opts.Converter>") + rsrBadParse, err := utils.NewRSRParser("~*opts.*originID<~*opts.Converter>") if err != nil { t.Fatal(err) } @@ -2393,15 +2393,15 @@ func TestFRPassMetaNever(t *testing.T) { } func TestFRPassStringParseDataProviderErr(t *testing.T) { - rsrParse := &config.RSRParser{ + rsrParse := &utils.RSRParser{ Rules: "~*opts.<~*opts.*originID;~*req.RunID;-Cost>", } if err := rsrParse.Compile(); err != nil { t.Error(err) } - valParse := config.RSRParsers{ - &config.RSRParser{ + valParse := utils.RSRParsers{ + &utils.RSRParser{ Rules: "~*opts.*originID;~*req.RunID;-Cost", }, } diff --git a/engine/libattributes.go b/engine/libattributes.go index 732aee986..1285524ae 100644 --- a/engine/libattributes.go +++ b/engine/libattributes.go @@ -23,7 +23,6 @@ import ( "fmt" "strings" - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" ) @@ -38,7 +37,7 @@ type Attribute struct { Blockers utils.DynamicBlockers // Blockers flag to stop processing on multiple attributes from a profile Path string Type string - Value config.RSRParsers + Value utils.RSRParsers } // AttributeProfile the profile definition for the attributes @@ -148,7 +147,7 @@ func (ext *APIAttributeProfile) AsAttributeProfile() (attr *AttributeProfile, er return nil, utils.NewErrMandatoryIeMissing("Value") } attr.Attributes[i] = new(Attribute) - if attr.Attributes[i].Value, err = config.NewRSRParsers(extAttr.Value, utils.InfieldSep); err != nil { + if attr.Attributes[i].Value, err = utils.NewRSRParsers(extAttr.Value, utils.InfieldSep); err != nil { return nil, err } attr.Attributes[i].Blockers = extAttr.Blockers @@ -175,8 +174,8 @@ func NewAttributeFromInline(tenant, inlnRule string) (attr *AttributeProfile, er if len(ruleSplt) < 3 { return nil, fmt.Errorf("inline parse error for string: <%s>", rule) } - var vals config.RSRParsers - if vals, err = config.NewRSRParsers(ruleSplt[2], utils.ANDSep); err != nil { + var vals utils.RSRParsers + if vals, err = utils.NewRSRParsers(ruleSplt[2], utils.ANDSep); err != nil { return nil, err } if len(ruleSplt[1]) == 0 { @@ -243,7 +242,7 @@ func (ap *AttributeProfile) Set(path []string, val any, newBranch bool) (err err case utils.Type: ap.Attributes[len(ap.Attributes)-1].Type = utils.IfaceAsString(val) case utils.Value: - ap.Attributes[len(ap.Attributes)-1].Value, err = config.NewRSRParsers(utils.IfaceAsString(val), utils.RSRSep) + ap.Attributes[len(ap.Attributes)-1].Value, err = utils.NewRSRParsers(utils.IfaceAsString(val), utils.RSRSep) default: return utils.ErrWrongPath } diff --git a/engine/libattributes_test.go b/engine/libattributes_test.go index 1b465e99e..b2c867b9a 100644 --- a/engine/libattributes_test.go +++ b/engine/libattributes_test.go @@ -52,7 +52,7 @@ func TestConvertExternalToProfile(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -124,12 +124,12 @@ func TestNewAttributeFromInline(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaSum, - Value: config.NewRSRParsersMustCompile("10;~*req.NumField;20", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10;~*req.NumField;20", utils.InfieldSep), }, { Path: utils.MetaReq + utils.NestingSep + "Field3", Type: utils.MetaSum, - Value: config.NewRSRParsersMustCompile("10;~*req.NumField4;20", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10;~*req.NumField4;20", utils.InfieldSep), }, }, } @@ -150,12 +150,12 @@ func TestNewAttributeFromInlineWithMultipleRuns(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "RequestType", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("*rated", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*rated", utils.InfieldSep), }, { Path: utils.MetaReq + utils.NestingSep + "Category", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("call", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("call", utils.InfieldSep), }, }, } @@ -190,12 +190,12 @@ func TestNewAttributeFromInlineWithMultipleVaslues(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Category", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("call_;*req.OriginID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("call_;*req.OriginID", utils.InfieldSep), }, { Path: utils.MetaReq + utils.NestingSep + "RequestType", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("*rated", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*rated", utils.InfieldSep), }, }, } @@ -253,7 +253,7 @@ func TestAttributeProfileSet(t *testing.T) { Attributes: []*Attribute{{ Path: "*req.Account", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10", utils.InfieldSep), FilterIDs: []string{"fltr1"}, Blockers: utils.DynamicBlockers{ { @@ -329,7 +329,7 @@ func TestAttributeProfileAsInterface(t *testing.T) { Attributes: []*Attribute{{ Path: "*req.Account", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10", utils.InfieldSep), FilterIDs: []string{"fltr1"}, }}, } @@ -465,7 +465,7 @@ func TestAttributeProfileMerge(t *testing.T) { Attributes: []*Attribute{{ Path: "*req.Account", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10", utils.InfieldSep), FilterIDs: []string{"fltr1"}, }}, } @@ -485,7 +485,7 @@ func TestAttributeProfileMerge(t *testing.T) { Attributes: []*Attribute{{ Path: "*req.Account", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10", utils.InfieldSep), FilterIDs: []string{"fltr1"}, }}, }) @@ -501,7 +501,7 @@ func TestAttributeProfilCompileSubstitutes(t *testing.T) { ap := &AttributeProfile{ Attributes: []*Attribute{ - {Value: config.RSRParsers{&config.RSRParser{ + {Value: utils.RSRParsers{&utils.RSRParser{ Rules: "~*req.Account{*unuportedConverter}", }}}, }, @@ -517,7 +517,7 @@ func TestAttributeFieldAsInterface(t *testing.T) { at := &Attribute{ Path: "*req.Account", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10", utils.InfieldSep), FilterIDs: []string{"fltr1"}, Blockers: utils.DynamicBlockers{ { diff --git a/engine/libindex_test.go b/engine/libindex_test.go index e34186994..8855eb889 100644 --- a/engine/libindex_test.go +++ b/engine/libindex_test.go @@ -191,7 +191,7 @@ func TestLibIndexSetUpdateRemAttributeProfile(t *testing.T) { { Type: utils.MetaConstant, Path: "~*req.Account", - Value: config.NewRSRParsersMustCompile("1002", utils.RSRSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.RSRSep), }, }, } @@ -222,7 +222,7 @@ func TestLibIndexSetUpdateRemAttributeProfile(t *testing.T) { { Type: utils.MetaConstant, Path: "~*req.Account", - Value: config.NewRSRParsersMustCompile("1002", utils.RSRSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.RSRSep), }, }, } @@ -248,7 +248,7 @@ func TestLibIndexSetUpdateRemAttributeProfile(t *testing.T) { { Type: utils.MetaConstant, Path: "~*req.Account", - Value: config.NewRSRParsersMustCompile("1002", utils.RSRSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.RSRSep), }, }, } @@ -279,7 +279,7 @@ func TestLibIndexSetUpdateRemAttributeProfile(t *testing.T) { { Type: utils.MetaConstant, Path: "~*req.Account", - Value: config.NewRSRParsersMustCompile("1002", utils.RSRSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.RSRSep), }, }, } @@ -313,7 +313,7 @@ func TestLibIndexSetUpdateRemAttributeProfile(t *testing.T) { { Type: utils.MetaConstant, Path: "~*req.Account", - Value: config.NewRSRParsersMustCompile("1002", utils.RSRSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.RSRSep), }, }, } @@ -378,7 +378,7 @@ func TestLibIndexModifyAttrPrfFilter(t *testing.T) { { Type: utils.MetaConstant, Path: "~*req.Account", - Value: config.NewRSRParsersMustCompile("1002", utils.RSRSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.RSRSep), }, }, } diff --git a/engine/libroutes_test.go b/engine/libroutes_test.go index 29013b330..46bb71f63 100644 --- a/engine/libroutes_test.go +++ b/engine/libroutes_test.go @@ -24,7 +24,6 @@ import ( "testing" "github.com/cgrates/birpc/context" - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" ) @@ -1593,14 +1592,14 @@ func TestRouteLazyPassErr(t *testing.T) { func TestRouteLazyPassTrue(t *testing.T) { - rsrParse := &config.RSRParser{ + rsrParse := &utils.RSRParser{ Rules: "~*opts.<~*opts.*originID;~*req.RunID;-Cost>", } if err := rsrParse.Compile(); err != nil { t.Error(err) } - valParse := config.RSRParsers{ - &config.RSRParser{ + valParse := utils.RSRParsers{ + &utils.RSRParser{ Rules: "~*opts.<~*opts.*originID;~*req.RunID;-Cost>", }, } diff --git a/engine/model_helpers.go b/engine/model_helpers.go index 8e05dc47e..b1d70e393 100644 --- a/engine/model_helpers.go +++ b/engine/model_helpers.go @@ -26,7 +26,6 @@ import ( "strings" "time" - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" ) @@ -1503,7 +1502,7 @@ func APItoAttributeProfile(tpAttr *utils.TPAttributeProfile, timezone string) (a err = fmt.Errorf("empty path in AttributeProfile <%s>", attrPrf.TenantID()) return } - sbstPrsr, err := config.NewRSRParsers(reqAttr.Value, utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers(reqAttr.Value, utils.RSRSep) if err != nil { return nil, err } diff --git a/engine/model_helpers_test.go b/engine/model_helpers_test.go index 92d3620b1..c4f238431 100644 --- a/engine/model_helpers_test.go +++ b/engine/model_helpers_test.go @@ -25,7 +25,6 @@ import ( "testing" "time" - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" ) @@ -1086,7 +1085,7 @@ func TestAPItoAttributeProfile(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "FL1", - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -1122,7 +1121,7 @@ func TestAttributeProfileToAPI(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "FL1", - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), @@ -1160,11 +1159,11 @@ func TestAttributeProfileToAPI2(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "FL1", - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, { Path: utils.MetaReq + utils.NestingSep + "Test", - Value: config.NewRSRParsersMustCompile("~*req.Account", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account", utils.InfieldSep), }, }, Weights: make(utils.DynamicWeights, 1), diff --git a/engine/z_attributes_test.go b/engine/z_attributes_test.go index 3ed9f24c2..305bed496 100644 --- a/engine/z_attributes_test.go +++ b/engine/z_attributes_test.go @@ -86,7 +86,7 @@ var ( Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.AccountField, - Value: config.NewRSRParsersMustCompile("1010", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1010", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -102,7 +102,7 @@ var ( Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.AccountField, - Value: config.NewRSRParsersMustCompile("1010", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1010", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -118,7 +118,7 @@ var ( Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.AccountField, - Value: config.NewRSRParsersMustCompile("1010", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1010", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -134,7 +134,7 @@ var ( Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.AccountField, - Value: config.NewRSRParsersMustCompile("1010", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1010", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -253,19 +253,19 @@ func TestAttributesV1GetAttributeForEventErr(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*req.Account", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*tenant", Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -292,7 +292,7 @@ func TestAttributesV1GetAttributeForEventErr(t *testing.T) { FilterIDs: nil, Path: "*req.Password", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -636,7 +636,7 @@ func TestAttributeIndexer(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.AccountField, - Value: config.NewRSRParsersMustCompile("1010", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1010", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -712,7 +712,7 @@ func TestAttributeProcessWithMultipleRuns1(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -728,7 +728,7 @@ func TestAttributeProcessWithMultipleRuns1(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -744,11 +744,11 @@ func TestAttributeProcessWithMultipleRuns1(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field3", - Value: config.NewRSRParsersMustCompile("Value3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value3", utils.InfieldSep), }, { Path: utils.MetaReq + utils.NestingSep + "Destination", - Value: config.NewRSRParsersMustCompile("2044", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("2044", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -840,7 +840,7 @@ func TestAttributeProcessWithMultipleRuns2(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -856,7 +856,7 @@ func TestAttributeProcessWithMultipleRuns2(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -872,7 +872,7 @@ func TestAttributeProcessWithMultipleRuns2(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field3", - Value: config.NewRSRParsersMustCompile("Value3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value3", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -961,7 +961,7 @@ func TestAttributeProcessWithMultipleRuns3(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -977,7 +977,7 @@ func TestAttributeProcessWithMultipleRuns3(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -993,7 +993,7 @@ func TestAttributeProcessWithMultipleRuns3(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field3", - Value: config.NewRSRParsersMustCompile("Value3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value3", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -1076,7 +1076,7 @@ func TestAttributeProcessWithMultipleRuns4(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -1092,7 +1092,7 @@ func TestAttributeProcessWithMultipleRuns4(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -1179,7 +1179,7 @@ func TestAttributeMultipleProcessWithBlocker(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -1195,7 +1195,7 @@ func TestAttributeMultipleProcessWithBlocker(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1216,7 +1216,7 @@ func TestAttributeMultipleProcessWithBlocker(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field3", - Value: config.NewRSRParsersMustCompile("Value3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value3", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -1297,7 +1297,7 @@ func TestAttributeMultipleProcessWithBlocker2(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1318,7 +1318,7 @@ func TestAttributeMultipleProcessWithBlocker2(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -1334,7 +1334,7 @@ func TestAttributeMultipleProcessWithBlocker2(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field3", - Value: config.NewRSRParsersMustCompile("Value3", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value3", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -1410,7 +1410,7 @@ func TestAttributeProcessValue(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("~*req.Field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Field1", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1484,17 +1484,17 @@ func TestAttributeAttributeFilterIDs(t *testing.T) { { FilterIDs: []string{"*string:~*req.PassField:Test"}, Path: utils.MetaReq + utils.NestingSep + "PassField", - Value: config.NewRSRParsersMustCompile("Pass", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Pass", utils.InfieldSep), }, { FilterIDs: []string{"*string:~*req.PassField:RandomValue"}, Path: utils.MetaReq + utils.NestingSep + "NotPassField", - Value: config.NewRSRParsersMustCompile("NotPass", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("NotPass", utils.InfieldSep), }, { FilterIDs: []string{"*notexists:~*req.RandomField:"}, Path: utils.MetaReq + utils.NestingSep + "RandomField", - Value: config.NewRSRParsersMustCompile("RandomValue", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("RandomValue", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -1565,7 +1565,7 @@ func TestAttributeProcessEventConstant(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("ConstVal", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("ConstVal", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1640,12 +1640,12 @@ func TestAttributeProcessEventVariable(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.Field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Field1", utils.InfieldSep), }, { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.TheField", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.TheField", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1722,17 +1722,17 @@ func TestAttributeProcessEventComposed(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.Field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Field1", utils.InfieldSep), }, { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("_", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("_", utils.InfieldSep), }, { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.TheField", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.TheField", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1809,7 +1809,7 @@ func TestAttributeProcessEventSum(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaSum, - Value: config.NewRSRParsersMustCompile("10;~*req.NumField;20", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10;~*req.NumField;20", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1888,7 +1888,7 @@ func TestAttributeProcessEventUsageDifference(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaUsageDifference, - Value: config.NewRSRParsersMustCompile("~*req.UnixTimeStamp;~*req.UnixTimeStamp2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.UnixTimeStamp;~*req.UnixTimeStamp2", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -1969,7 +1969,7 @@ func TestAttributeProcessEventValueExponent(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaValueExponent, - Value: config.NewRSRParsersMustCompile("~*req.Multiplier;~*req.Pow", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Multiplier;~*req.Pow", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -2054,7 +2054,7 @@ func BenchmarkAttributeProcessEventConstant(b *testing.B) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("ConstVal", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("ConstVal", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -2115,7 +2115,7 @@ func BenchmarkAttributeProcessEventVariable(b *testing.B) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.Field1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Field1", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -2170,7 +2170,7 @@ func TestGetAttributeProfileFromInline(t *testing.T) { Attributes: []*Attribute{{ Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaSum, - Value: config.NewRSRParsersMustCompile("10;~*req.NumField;20", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("10;~*req.NumField;20", utils.InfieldSep), }}, } attr, err := NewDataManager(nil, nil, nil).GetAttributeProfile(context.TODO(), config.CgrConfig().GeneralCfg().DefaultTenant, attrID, false, false, "") @@ -2194,7 +2194,7 @@ func TestProcessAttributeConstant(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("Val2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Val2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2258,7 +2258,7 @@ func TestProcessAttributeVariable(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.RandomField", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.RandomField", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2324,12 +2324,12 @@ func TestProcessAttributeComposed(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.RandomField", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.RandomField", utils.InfieldSep), }, { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaComposed, - Value: config.NewRSRParsersMustCompile("~*req.RandomField2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.RandomField2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2396,7 +2396,7 @@ func TestProcessAttributeUsageDifference(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaUsageDifference, - Value: config.NewRSRParsersMustCompile("~*req.RandomField;~*req.RandomField2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.RandomField;~*req.RandomField2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2463,7 +2463,7 @@ func TestProcessAttributeSum(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaSum, - Value: config.NewRSRParsersMustCompile("~*req.RandomField;~*req.RandomField2;10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.RandomField;~*req.RandomField2;10", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2530,7 +2530,7 @@ func TestProcessAttributeDiff(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaDifference, - Value: config.NewRSRParsersMustCompile("55;~*req.RandomField;~*req.RandomField2;10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("55;~*req.RandomField;~*req.RandomField2;10", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2597,7 +2597,7 @@ func TestProcessAttributeMultiply(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaMultiply, - Value: config.NewRSRParsersMustCompile("55;~*req.RandomField;~*req.RandomField2;10", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("55;~*req.RandomField;~*req.RandomField2;10", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2664,7 +2664,7 @@ func TestProcessAttributeDivide(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaDivide, - Value: config.NewRSRParsersMustCompile("55.0;~*req.RandomField;~*req.RandomField2;4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("55.0;~*req.RandomField;~*req.RandomField2;4", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2731,7 +2731,7 @@ func TestProcessAttributeValueExponent(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaValueExponent, - Value: config.NewRSRParsersMustCompile("~*req.RandomField2;4", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.RandomField2;4", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2798,7 +2798,7 @@ func TestProcessAttributeUnixTimeStamp(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaUnixTimestamp, - Value: config.NewRSRParsersMustCompile("~*req.RandomField2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.RandomField2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2865,7 +2865,7 @@ func TestProcessAttributePrefix(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaPrefix, - Value: config.NewRSRParsersMustCompile("abc_", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("abc_", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -2931,7 +2931,7 @@ func TestProcessAttributeSuffix(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaSuffix, - Value: config.NewRSRParsersMustCompile("_abc", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("_abc", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3010,7 +3010,7 @@ func TestAttributeIndexSelectsFalse(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.AccountField, - Value: config.NewRSRParsersMustCompile("1010", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1010", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3055,7 +3055,7 @@ func TestProcessAttributeWithSameWeight(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field2", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.RandomField", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.RandomField", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3072,7 +3072,7 @@ func TestProcessAttributeWithSameWeight(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Field3", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.RandomField", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.RandomField", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3143,7 +3143,7 @@ func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3159,7 +3159,7 @@ func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3248,7 +3248,7 @@ func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3264,7 +3264,7 @@ func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3352,7 +3352,7 @@ func TestAttributeMetaTenant(t *testing.T) { Attributes: []*Attribute{{ Type: utils.MetaPrefix, Path: utils.MetaTenant, - Value: config.NewRSRParsersMustCompile("prfx_", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("prfx_", utils.InfieldSep), }}, Weights: utils.DynamicWeights{ { @@ -3430,7 +3430,7 @@ func TestAttributesPorcessEventMatchingProcessRuns(t *testing.T) { { Path: "*req.CompanyName", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("ITSYS COMMUNICATIONS SRL", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("ITSYS COMMUNICATIONS SRL", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3447,7 +3447,7 @@ func TestAttributesPorcessEventMatchingProcessRuns(t *testing.T) { { Path: "*req.Password", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -3521,7 +3521,7 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { FilterIDs: []string{}, Attributes: []*Attribute{{ Path: utils.MetaReq + utils.NestingSep + "Field1", - Value: config.NewRSRParsersMustCompile("Value1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value1", utils.InfieldSep), }}, Weights: utils.DynamicWeights{ { @@ -3535,7 +3535,7 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { FilterIDs: []string{}, Attributes: []*Attribute{{ Path: utils.MetaReq + utils.NestingSep + "Field2", - Value: config.NewRSRParsersMustCompile("Value2", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Value2", utils.InfieldSep), }}, Weights: utils.DynamicWeights{ { @@ -3670,19 +3670,19 @@ func TestAttributesV1ProcessEvent(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*req.Account", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*tenant", Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -3709,7 +3709,7 @@ func TestAttributesV1ProcessEvent(t *testing.T) { FilterIDs: nil, Path: "*req.Password", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -3794,19 +3794,19 @@ func TestAttributesV1ProcessEventErrorMetaSum(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*req.Account", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*tenant", Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -3833,7 +3833,7 @@ func TestAttributesV1ProcessEventErrorMetaSum(t *testing.T) { FilterIDs: nil, Path: "*req.Password", Type: utils.MetaSum, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -3889,19 +3889,19 @@ func TestAttributesV1ProcessEventErrorMetaDifference(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*req.Account", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*tenant", Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -3928,7 +3928,7 @@ func TestAttributesV1ProcessEventErrorMetaDifference(t *testing.T) { FilterIDs: nil, Path: "*req.Password", Type: utils.MetaDifference, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -3985,19 +3985,19 @@ func TestAttributesV1ProcessEventErrorMetaValueExponent(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*req.Account", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*tenant", Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -4024,7 +4024,7 @@ func TestAttributesV1ProcessEventErrorMetaValueExponent(t *testing.T) { FilterIDs: nil, Path: "*req.Password", Type: utils.MetaValueExponent, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -4080,7 +4080,7 @@ func TestAttributesattributeProfileForEventNoDBConn(t *testing.T) { fltrS: NewFilterS(cfg, nil, dm), } - postpaid, err := config.NewRSRParsers(utils.MetaPostpaid, utils.InfieldSep) + postpaid, err := utils.NewRSRParsers(utils.MetaPostpaid, utils.InfieldSep) if err != nil { t.Error(err) } @@ -4199,7 +4199,7 @@ func TestAttributesattributeProfileForEventErrPass(t *testing.T) { fltrS: NewFilterS(cfg, nil, dm), } - postpaid, err := config.NewRSRParsers(utils.MetaPostpaid, utils.InfieldSep) + postpaid, err := utils.NewRSRParsers(utils.MetaPostpaid, utils.InfieldSep) if err != nil { t.Error(err) } @@ -4255,7 +4255,7 @@ func TestAttributesParseAttributeSIPCID(t *testing.T) { "from": "1002", }, } - if out, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), + if out, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString); err != nil { t.Fatal(err) } else if exp != out { @@ -4269,7 +4269,7 @@ func TestAttributesParseAttributeSIPCID(t *testing.T) { "from": "1001", }, } - if out, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), + if out, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString); err != nil { t.Fatal(err) } else if exp != out { @@ -4285,7 +4285,7 @@ func TestAttributesParseAttributeSIPCID(t *testing.T) { "extra": "1003", }, } - if out, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.extra;~*req.from", + if out, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.extra;~*req.from", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString); err != nil { t.Fatal(err) } else if exp != out { @@ -4300,7 +4300,7 @@ func TestAttributesParseAttributeSIPCID(t *testing.T) { "extra": "1003", }, } - if out, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cid;~*req.extra;~*req.to;~*req.from", + if out, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cid;~*req.extra;~*req.to;~*req.from", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString); err != nil { t.Fatal(err) } else if exp != out { @@ -4312,7 +4312,7 @@ func TestAttributesParseAttributeSIPCID(t *testing.T) { "cid": "12345", }, } - if _, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cid;~*req.extra;~*req.to;~*req.from", utils. + if _, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cid;~*req.extra;~*req.to;~*req.from", utils. InfieldSep), 0, utils.EmptyString, utils.EmptyString); err != utils.ErrNotFound { t.Errorf("Expected <%+v>, received <%+v>", utils.ErrNotFound, err) } @@ -4327,7 +4327,7 @@ func TestAttributesParseAttributeSIPCIDWrongPathErr(t *testing.T) { }, utils.MetaOpts: 13, } - value := config.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from;~*opts.WrongPath", utils.InfieldSep) + value := utils.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from;~*opts.WrongPath", utils.InfieldSep) if _, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, value, 0, time.UTC.String(), utils.EmptyString); err == nil || err.Error() != utils.ErrWrongPath.Error() { @@ -4342,7 +4342,7 @@ func TestAttributesParseAttributeSIPCIDNotFoundErr(t *testing.T) { "from": "1002", }, } - value := config.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep) + value := utils.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep) if _, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, value, 0, time.UTC.String(), utils.EmptyString); err == nil || err.Error() != utils.ErrNotFound.Error() { @@ -4357,7 +4357,7 @@ func TestAttributesParseAttributeSIPCIDInvalidArguments(t *testing.T) { "from": "1002", }, } - value := config.RSRParsers{} + value := utils.RSRParsers{} experr := `invalid number of arguments <[]> to *sipcid` if _, err := ParseAttribute(dp, utils.MetaSIPCID, utils.EmptyString, value, 0, time.UTC.String(), utils.EmptyString); err == nil || @@ -4380,8 +4380,8 @@ func TestAttributesV1ProcessEventMultipleRuns1(t *testing.T) { Cache = NewCacheS(cfg, dm, nil, nil) alS := NewAttributeService(dm, filterS, cfg) - postpaid := config.NewRSRParsersMustCompile(utils.MetaPostpaid, utils.InfieldSep) - pw := config.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep) + postpaid := utils.NewRSRParsersMustCompile(utils.MetaPostpaid, utils.InfieldSep) + pw := utils.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep) ap1 := &AttributeProfile{ Tenant: "cgrates.org", @@ -4490,9 +4490,9 @@ func TestAttributesV1ProcessEventMultipleRuns2(t *testing.T) { Cache = NewCacheS(cfg, dm, nil, nil) alS := NewAttributeService(dm, filterS, cfg) - postpaid := config.NewRSRParsersMustCompile(utils.MetaPostpaid, utils.InfieldSep) - pw := config.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep) - paypal := config.NewRSRParsersMustCompile("cgrates@paypal.com", utils.InfieldSep) + postpaid := utils.NewRSRParsersMustCompile(utils.MetaPostpaid, utils.InfieldSep) + pw := utils.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep) + paypal := utils.NewRSRParsersMustCompile("cgrates@paypal.com", utils.InfieldSep) ap1 := &AttributeProfile{ Tenant: "cgrates.org", @@ -4621,19 +4621,19 @@ func TestAttributesV1GetAttributeForEvent(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*req.Account", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*tenant", Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -4660,7 +4660,7 @@ func TestAttributesV1GetAttributeForEvent(t *testing.T) { FilterIDs: nil, Path: "*req.Password", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -4750,19 +4750,19 @@ func TestAttributesV1GetAttributeForEventErrorBoolOpts(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*req.Account", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*tenant", Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -4789,7 +4789,7 @@ func TestAttributesV1GetAttributeForEventErrorBoolOpts(t *testing.T) { FilterIDs: nil, Path: "*req.Password", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -4846,19 +4846,19 @@ func TestAttributesV1GetAttributeForEventErrorNil(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*req.Account", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*tenant", Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -4885,7 +4885,7 @@ func TestAttributesV1GetAttributeForEventErrorNil(t *testing.T) { FilterIDs: nil, Path: "*req.Password", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -4931,19 +4931,19 @@ func TestAttributesV1GetAttributeForEventErrOptsI(t *testing.T) { FilterIDs: nil, Path: "*tenant", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(.*)@(.*)/${1}.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*req.Account", Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Account:s/(dan)@(.*)/${1}.${2}/:s/(adrian)@(.*)/andrei.${2}/", utils.InfieldSep), }, { FilterIDs: nil, Path: "*tenant", Type: "*composed", - Value: config.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(".co.uk", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -4970,7 +4970,7 @@ func TestAttributesV1GetAttributeForEventErrOptsI(t *testing.T) { FilterIDs: nil, Path: "*req.Password", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("CGRATES.ORG", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -5175,7 +5175,7 @@ func TestAttributesParseAttributeMetaNone(t *testing.T) { "from": "1002", }, } - if out, err := ParseAttribute(dp, utils.MetaNone, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), + if out, err := ParseAttribute(dp, utils.MetaNone, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString); err != nil { t.Fatal(err) } else if out != nil { @@ -5191,7 +5191,7 @@ func TestAttributesParseAttributeMetaUsageDifferenceBadValError(t *testing.T) { "from": "1002", }, } - _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, config.NewRSRParsersMustCompile("", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) + _, err := ParseAttribute(dp, utils.MetaUsageDifference, utils.EmptyString, utils.NewRSRParsersMustCompile("", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err.Error() != "invalid arguments to *usageDifference" { t.Fatal(err) @@ -5206,7 +5206,7 @@ func TestAttributesParseAttributeMetaCCUsageError(t *testing.T) { "from": "1002", }, } - _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, config.NewRSRParsersMustCompile("::;~*req.to;~*req.from", utils.InfieldSep), + _, err := ParseAttribute(dp, utils.MetaCCUsage, utils.EmptyString, utils.NewRSRParsersMustCompile("::;~*req.to;~*req.from", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString) if err == nil || err.Error() != "invalid requestNumber <::> to *ccUsage" { t.Fatal(err) @@ -5268,7 +5268,7 @@ func TestAttributesAttributeServiceV1PrcssEvPrcssRunsGetIntOptsErr(t *testing.T) filterS := NewFilterS(cfg, nil, dm) Cache = NewCacheS(cfg, dm, nil, nil) alS := NewAttributeService(dm, filterS, cfg) - pw := config.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep) + pw := utils.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep) ap1 := &AttributeProfile{ Tenant: "cgrates.org", @@ -5320,7 +5320,7 @@ func TestAttributesAttributeServiceV1PrcssEvProfRunsGetIntOptsErr(t *testing.T) filterS := NewFilterS(cfg, nil, dm) Cache = NewCacheS(cfg, dm, nil, nil) alS := NewAttributeService(dm, filterS, cfg) - pw := config.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep) + pw := utils.NewRSRParsersMustCompile("CGRateS.org", utils.InfieldSep) ap1 := &AttributeProfile{ Tenant: "cgrates.org", @@ -5368,7 +5368,7 @@ func TestAttributesParseAttributeMetaGeneric(t *testing.T) { "from": "1002", }, } - if out, err := ParseAttribute(dp, utils.MetaGeneric, utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), + if out, err := ParseAttribute(dp, utils.MetaGeneric, utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString); err != nil { t.Fatal(err) } else if exp != out { @@ -5384,7 +5384,7 @@ func TestAttributesParseAttributeError(t *testing.T) { "from": "1002", }, } - if _, err := ParseAttribute(dp, "badType", utils.EmptyString, config.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), + if _, err := ParseAttribute(dp, "badType", utils.EmptyString, utils.NewRSRParsersMustCompile("~*req.cid;~*req.to;~*req.from", utils.InfieldSep), 0, utils.EmptyString, utils.EmptyString); err == nil || err.Error() != "unsupported type: " { t.Errorf("Expected %q, Received %q", "unsupported type: ", err) } @@ -5405,7 +5405,7 @@ func TestAttributesProcessEventPasswordAttribute(t *testing.T) { filterS := NewFilterS(cfg, nil, dm) attrS := NewAttributeService(dm, filterS, cfg) - value := config.NewRSRParsersMustCompile("abcd123", utils.RSRSep) + value := utils.NewRSRParsersMustCompile("abcd123", utils.RSRSep) attrPrf := &AttributeProfile{ Tenant: "cgrates.org", @@ -5471,7 +5471,7 @@ func TestAttributesProcessEventPasswordAttribute(t *testing.T) { } } - value = config.NewRSRParsersMustCompile(hashedPw, utils.RSRSep) + value = utils.NewRSRParsersMustCompile(hashedPw, utils.RSRSep) expAttrPrf := &AttributeProfile{ Tenant: "cgrates.org", ID: "ATTR_TEST", @@ -5509,7 +5509,7 @@ func TestAttributesSetAttributeProfilePasswordAttr(t *testing.T) { dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil, nil) - value := config.NewRSRParsersMustCompile("abcd123", utils.RSRSep) + value := utils.NewRSRParsersMustCompile("abcd123", utils.RSRSep) attrPrf := &AttributeProfile{ Tenant: "cgrates.org", ID: "ATTR_TEST", diff --git a/engine/z_filterindexer_it_test.go b/engine/z_filterindexer_it_test.go index 9e623c32a..361f9228e 100644 --- a/engine/z_filterindexer_it_test.go +++ b/engine/z_filterindexer_it_test.go @@ -490,7 +490,7 @@ func testITTestAttributeProfileFilterIndexes(t *testing.T) { Attributes: []*Attribute{ { Path: "FN1", - Value: config.NewRSRParsersMustCompile("Val1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Val1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -521,7 +521,7 @@ func testITTestAttributeProfileFilterIndexes(t *testing.T) { Attributes: []*Attribute{ { Path: "FN1", - Value: config.NewRSRParsersMustCompile("Val1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Val1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -629,7 +629,7 @@ func testITTestAttributeProfileFilterIndexes2(t *testing.T) { Attributes: []*Attribute{ { Path: "FN1", - Value: config.NewRSRParsersMustCompile("Val1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Val1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -661,7 +661,7 @@ func testITTestAttributeProfileFilterIndexes2(t *testing.T) { Attributes: []*Attribute{ { Path: "FN1", - Value: config.NewRSRParsersMustCompile("Val1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Val1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ diff --git a/engine/z_filterindexer_test.go b/engine/z_filterindexer_test.go index 084493d35..4322bdfbe 100644 --- a/engine/z_filterindexer_test.go +++ b/engine/z_filterindexer_test.go @@ -42,7 +42,7 @@ func TestFilterIndexesCheckingDynamicPathToNotIndex(t *testing.T) { FilterIDs: []string{"*string:~*req.Field1:Initial"}, Path: utils.MetaReq + utils.NestingSep + "Field1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("Sub1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Sub1", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -65,7 +65,7 @@ func TestFilterIndexesCheckingDynamicPathToNotIndex(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "Password", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("admin", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("admin", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -88,7 +88,7 @@ func TestFilterIndexesCheckingDynamicPathToNotIndex(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "RequestType", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("*rated", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*rated", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ @@ -111,7 +111,7 @@ func TestFilterIndexesCheckingDynamicPathToNotIndex(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "TCC", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("203", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("203", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ diff --git a/engine/z_onstor_it_test.go b/engine/z_onstor_it_test.go index 8d38ffb94..ce32118fe 100644 --- a/engine/z_onstor_it_test.go +++ b/engine/z_onstor_it_test.go @@ -768,7 +768,7 @@ func testOnStorITAttributeProfile(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "FN1", - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -847,7 +847,7 @@ func testOnStorITTestAttributeSubstituteIface(t *testing.T) { Attributes: []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "FN1", - Value: config.NewRSRParsersMustCompile("Val1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Val1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -873,7 +873,7 @@ func testOnStorITTestAttributeSubstituteIface(t *testing.T) { attrProfile.Attributes = []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "FN1", - Value: config.NewRSRParsersMustCompile("123.123", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("123.123", utils.InfieldSep), }, } if err := onStor.SetAttributeProfile(context.TODO(), attrProfile, false); err != nil { @@ -889,7 +889,7 @@ func testOnStorITTestAttributeSubstituteIface(t *testing.T) { attrProfile.Attributes = []*Attribute{ { Path: utils.MetaReq + utils.NestingSep + "FN1", - Value: config.NewRSRParsersMustCompile("true", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("true", utils.InfieldSep), }, } if err := onStor.SetAttributeProfile(context.TODO(), attrProfile, false); err != nil { diff --git a/ers/ers_it_test.go b/ers/ers_it_test.go index 5f3e0238a..371b04f42 100644 --- a/ers/ers_it_test.go +++ b/ers/ers_it_test.go @@ -1253,7 +1253,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFieldsErrPrefix(t *testing.T) { Tag: "*tor", Type: utils.MetaComposed, Path: "~*req.ToR", - Value: config.NewRSRParsersMustCompile(utils.MetaVoice, utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile(utils.MetaVoice, utils.InfieldSep), NewBranch: false, AttributeID: "ATTR_FLD_1001", }, @@ -1324,14 +1324,14 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFields(t *testing.T) { }, Fields: []*config.FCTemplate{ {Tag: "SessionId", Path: utils.EmptyString, Type: "*variable", - Value: config.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, + Value: utils.NewRSRParsersMustCompile("~*req.Session-Id", utils.InfieldSep), Mandatory: true}, }, CacheDumpFields: []*config.FCTemplate{ { Tag: "OriginID", Type: utils.MetaConstant, Path: "*exp.OriginID", - Value: config.NewRSRParsersMustCompile("25160047719:0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("25160047719:0", utils.InfieldSep), Mandatory: true, }, }, diff --git a/ers/filefwv_it_test.go b/ers/filefwv_it_test.go index 5b567a1e1..fdfb4eb03 100644 --- a/ers/filefwv_it_test.go +++ b/ers/filefwv_it_test.go @@ -294,7 +294,7 @@ func TestFileFWVProcessEvent(t *testing.T) { errExpect := "unsupported field prefix: <> when set fields" eR.Config().Fields = []*config.FCTemplate{ { - Value: config.RSRParsers{ + Value: utils.RSRParsers{ { Rules: "~*hdr", }, @@ -470,7 +470,7 @@ func TestFileFWVProcessTrailer(t *testing.T) { Tag: "OriginId", Path: "*cgreq.OriginID", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), }, } eR.Config().Fields = trailerFields @@ -545,7 +545,7 @@ func TestFileFWVProcessTrailerError2(t *testing.T) { conReqs: make(chan struct{}, 1), } eR.conReqs <- struct{}{} - eR.Config().Tenant = config.RSRParsers{ + eR.Config().Tenant = utils.RSRParsers{ { Rules: "cgrates.org", }, @@ -564,7 +564,7 @@ func TestFileFWVProcessTrailerError2(t *testing.T) { Tag: "OriginId", Path: "*cgreq.OriginID", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), }, } @@ -597,7 +597,7 @@ func TestFileFWVProcessTrailerError3(t *testing.T) { Tag: "OriginId", Path: "*cgreq.OriginID", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), }, } var file *os.File @@ -635,7 +635,7 @@ func TestFileFWVCreateHeaderMap(t *testing.T) { Tag: "OriginId", Path: "*cgreq.OriginID", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), }, } eR.Config().Fields = hdrFields @@ -703,7 +703,7 @@ func TestFileFWVCreateHeaderMapError2(t *testing.T) { Tag: "OriginId", Path: "*cgreq.OriginID", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("testOriginID", utils.InfieldSep), }, } diff --git a/ers/filexml_it_test.go b/ers/filexml_it_test.go index 332cfddff..cba4269df 100644 --- a/ers/filexml_it_test.go +++ b/ers/filexml_it_test.go @@ -428,7 +428,7 @@ func TestFileXMLProcessEvent(t *testing.T) { Tag: "OriginID", Type: utils.MetaConstant, Path: "*cgreq.OriginID", - Value: config.NewRSRParsersMustCompile("25160047719:0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("25160047719:0", utils.InfieldSep), Mandatory: true, }, } @@ -523,7 +523,7 @@ func TestFileXMLProcessEVentError2(t *testing.T) { conReqs: make(chan struct{}, 1), } eR.conReqs <- struct{}{} - eR.Config().Tenant = config.RSRParsers{ + eR.Config().Tenant = utils.RSRParsers{ { Rules: "test", }, @@ -675,7 +675,7 @@ func TestFileXML(t *testing.T) { Tag: "OriginID", Type: utils.MetaConstant, Path: "*cgreq.OriginID", - Value: config.NewRSRParsersMustCompile("25160047719:0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("25160047719:0", utils.InfieldSep), Mandatory: true, }, } @@ -728,7 +728,7 @@ func TestFileXMLError(t *testing.T) { Tag: "OriginID", Type: utils.MetaConstant, Path: "*cgreq.OriginID", - Value: config.NewRSRParsersMustCompile("25160047719:0", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("25160047719:0", utils.InfieldSep), Mandatory: true, }, } diff --git a/ers/kafka_test.go b/ers/kafka_test.go index 25b41d0bb..ab3e2c25d 100644 --- a/ers/kafka_test.go +++ b/ers/kafka_test.go @@ -167,7 +167,7 @@ func TestKafkaERProcessMessage(t *testing.T) { { Tag: "Tor", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("*voice", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*voice", utils.InfieldSep), Path: "*cgreq.ToR", }, } diff --git a/ers/libers.go b/ers/libers.go index 68cff6a1c..1bb15519b 100644 --- a/ers/libers.go +++ b/ers/libers.go @@ -39,8 +39,8 @@ func mergePartialEvents(cgrEvs []*utils.CGREvent, cfg *config.EventReaderCfg, fl if cfg.Opts.PartialOrderField != nil { ordFld = *cfg.Opts.PartialOrderField } - var ordPath config.RSRParsers - if ordPath, err = config.NewRSRParsers(ordFld, utils.RSRSep); err != nil { // convert the option to rsrParsers + var ordPath utils.RSRParsers + if ordPath, err = utils.NewRSRParsers(ordFld, utils.RSRSep); err != nil { // convert the option to rsrParsers return nil, err } diff --git a/ers/s3_test.go b/ers/s3_test.go index edbb7c3da..c32d7bb2f 100644 --- a/ers/s3_test.go +++ b/ers/s3_test.go @@ -91,7 +91,7 @@ func TestS3ERProcessMessage(t *testing.T) { { Tag: "Destination", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("testdest", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("testdest", utils.InfieldSep), Path: "*cgreq.Destination", }, } diff --git a/ers/sqs_test.go b/ers/sqs_test.go index 4e5a5ee7d..d98ba410c 100644 --- a/ers/sqs_test.go +++ b/ers/sqs_test.go @@ -142,7 +142,7 @@ func TestSQSERProcessMessage(t *testing.T) { { Tag: "OriginID", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("testID", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("testID", utils.InfieldSep), Path: "*cgreq.OriginID", }, } @@ -373,7 +373,7 @@ func TestSQSERReadMsg(t *testing.T) { { Tag: "Tor", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("*voice", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*voice", utils.InfieldSep), Path: "*cgreq.ToR", }, } @@ -427,7 +427,7 @@ func TestSQSERReadMsgError1(t *testing.T) { { Tag: "Tor", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("*voice", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*voice", utils.InfieldSep), Path: "*cgreq.ToR", }, } @@ -472,7 +472,7 @@ func TestSQSERReadMsgError2(t *testing.T) { { Tag: "Tor", Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("*voice", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("*voice", utils.InfieldSep), Path: "*cgreq.ToR", }, } diff --git a/general_tests/cdrs_processevent_it_test.go b/general_tests/cdrs_processevent_it_test.go index 1118ca9e3..c863ac9e2 100644 --- a/general_tests/cdrs_processevent_it_test.go +++ b/general_tests/cdrs_processevent_it_test.go @@ -181,7 +181,7 @@ package general_tests // Attributes: []*engine.Attribute{ // { // Path: utils.MetaReq + utils.NestingSep + utils.Subject, -// Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), +// Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), // }, // }, // Weights: utils.DynamicWeights{ diff --git a/general_tests/export_it_test.go b/general_tests/export_it_test.go index 1808a534c..faa0a7d54 100644 --- a/general_tests/export_it_test.go +++ b/general_tests/export_it_test.go @@ -245,7 +245,7 @@ func testExpVerifyAttributes(t *testing.T) { Path: utils.MetaReq + utils.NestingSep + "OfficeGroup", FilterIDs: []string{}, Type: utils.MetaConstant, - Value: config.NewRSRParsersMustCompile("Marketing", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Marketing", utils.InfieldSep), }, }, Blockers: utils.DynamicBlockers{ diff --git a/general_tests/redis_cluster_it_test.go b/general_tests/redis_cluster_it_test.go index bbc5aaca1..86bca07f9 100644 --- a/general_tests/redis_cluster_it_test.go +++ b/general_tests/redis_cluster_it_test.go @@ -192,7 +192,7 @@ func testClsrSetGetAttribute(t *testing.T) { Attributes: []*engine.Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.Subject, - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -235,7 +235,7 @@ func testClsrSetGetAttribute2(t *testing.T) { Attributes: []*engine.Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.Subject, - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -283,7 +283,7 @@ func testClsrGetAttribute(t *testing.T) { Attributes: []*engine.Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.Subject, - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ diff --git a/general_tests/set_rmv_prfl_dlay_it_test.go b/general_tests/set_rmv_prfl_dlay_it_test.go index 62a887b9b..8195a3436 100644 --- a/general_tests/set_rmv_prfl_dlay_it_test.go +++ b/general_tests/set_rmv_prfl_dlay_it_test.go @@ -395,7 +395,7 @@ func TestSetRemoveProfilesWithCachingDelay(t *testing.T) { Attributes: []*engine.Attribute{ { Path: utils.MetaReq + utils.NestingSep + utils.AccountField, - Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ diff --git a/loaders/libloader_test.go b/loaders/libloader_test.go index f1d5f7506..4113de476 100644 --- a/loaders/libloader_test.go +++ b/loaders/libloader_test.go @@ -88,14 +88,14 @@ func TestNewRecordWithCahe(t *testing.T) { cfg := config.NewDefaultCGRConfig() fs := engine.NewFilterS(cfg, nil, nil) fc := []*config.FCTemplate{ - {Type: utils.MetaVariable, Path: "Tenant", Value: config.NewRSRParsersMustCompile("~*req.0", ";")}, - {Type: utils.MetaVariable, Path: "ID", Value: config.NewRSRParsersMustCompile("~*req.1", ";")}, - {Type: utils.MetaComposed, Path: "*uch.*tntID.Value", Value: config.NewRSRParsersMustCompile("0", ";")}, - {Type: utils.MetaVariable, Path: "Value", Value: config.NewRSRParsersMustCompile("~*uch.*tntID.Value", ";")}, - {Type: utils.MetaRemove, Path: "Value", Value: config.NewRSRParsersMustCompile("~*uch.*tntID.Value", ";")}, //ignored - {Type: utils.MetaComposed, Path: "*uch.*tntID.Value", Value: config.NewRSRParsersMustCompile("0", ";")}, - {Type: utils.MetaRemove, Path: "*uch.*tntID.Value", Value: config.NewRSRParsersMustCompile("0", ";")}, - {Type: utils.MetaRemoveAll, Path: "*uch", Value: config.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaVariable, Path: "Tenant", Value: utils.NewRSRParsersMustCompile("~*req.0", ";")}, + {Type: utils.MetaVariable, Path: "ID", Value: utils.NewRSRParsersMustCompile("~*req.1", ";")}, + {Type: utils.MetaComposed, Path: "*uch.*tntID.Value", Value: utils.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaVariable, Path: "Value", Value: utils.NewRSRParsersMustCompile("~*uch.*tntID.Value", ";")}, + {Type: utils.MetaRemove, Path: "Value", Value: utils.NewRSRParsersMustCompile("~*uch.*tntID.Value", ";")}, //ignored + {Type: utils.MetaComposed, Path: "*uch.*tntID.Value", Value: utils.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaRemove, Path: "*uch.*tntID.Value", Value: utils.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaRemoveAll, Path: "*uch", Value: utils.NewRSRParsersMustCompile("0", ";")}, } for _, f := range fc { f.ComputePath() @@ -118,13 +118,13 @@ func TestNewRecordWithTmp(t *testing.T) { cfg := config.NewDefaultCGRConfig() fs := engine.NewFilterS(cfg, nil, nil) fc := []*config.FCTemplate{ - {Type: utils.MetaVariable, Path: "Tenant", Value: config.NewRSRParsersMustCompile("~*req.0", ";")}, - {Type: utils.MetaVariable, Path: "ID", Value: config.NewRSRParsersMustCompile("~*req.1", ";")}, - {Type: utils.MetaComposed, Path: "*tmp.*tntID.Value", Value: config.NewRSRParsersMustCompile("0", ";")}, - {Type: utils.MetaVariable, Path: "Value", Value: config.NewRSRParsersMustCompile("~*tmp.*tntID.Value", ";")}, - {Type: utils.MetaComposed, Path: "*tmp.*tntID.Value", Value: config.NewRSRParsersMustCompile("0", ";")}, - {Type: utils.MetaRemove, Path: "*tmp.*tntID.Value", Value: config.NewRSRParsersMustCompile("0", ";")}, - {Type: utils.MetaRemoveAll, Path: "*tmp", Value: config.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaVariable, Path: "Tenant", Value: utils.NewRSRParsersMustCompile("~*req.0", ";")}, + {Type: utils.MetaVariable, Path: "ID", Value: utils.NewRSRParsersMustCompile("~*req.1", ";")}, + {Type: utils.MetaComposed, Path: "*tmp.*tntID.Value", Value: utils.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaVariable, Path: "Value", Value: utils.NewRSRParsersMustCompile("~*tmp.*tntID.Value", ";")}, + {Type: utils.MetaComposed, Path: "*tmp.*tntID.Value", Value: utils.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaRemove, Path: "*tmp.*tntID.Value", Value: utils.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaRemoveAll, Path: "*tmp", Value: utils.NewRSRParsersMustCompile("0", ";")}, } for _, f := range fc { f.ComputePath() @@ -178,12 +178,12 @@ func TestNewRecordWithTmp2(t *testing.T) { cfg := config.NewDefaultCGRConfig() fs := engine.NewFilterS(cfg, nil, nil) fc := []*config.FCTemplate{ - {Type: utils.MetaVariable, Path: "Tenant", Value: config.NewRSRParsersMustCompile("~*req.0", ";")}, - {Type: utils.MetaVariable, Path: "ID", Value: config.NewRSRParsersMustCompile("~*req.1", ";")}, - {Type: utils.MetaVariable, Path: "*tmp.*tntID.Value", Value: config.NewRSRParsersMustCompile("0", ";")}, - {Type: utils.MetaVariable, Path: "*uch.*tntID.Value", Value: config.NewRSRParsersMustCompile("0", ";")}, - {Type: utils.MetaComposed, Path: "Value", Value: config.NewRSRParsersMustCompile("~*tmp.*tntID.Value", ";"), Blocker: true}, - {Type: utils.MetaComposed, Path: "Value", Value: config.NewRSRParsersMustCompile("~*tmp.*tntID.Value", ";")}, + {Type: utils.MetaVariable, Path: "Tenant", Value: utils.NewRSRParsersMustCompile("~*req.0", ";")}, + {Type: utils.MetaVariable, Path: "ID", Value: utils.NewRSRParsersMustCompile("~*req.1", ";")}, + {Type: utils.MetaVariable, Path: "*tmp.*tntID.Value", Value: utils.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaVariable, Path: "*uch.*tntID.Value", Value: utils.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaComposed, Path: "Value", Value: utils.NewRSRParsersMustCompile("~*tmp.*tntID.Value", ";"), Blocker: true}, + {Type: utils.MetaComposed, Path: "Value", Value: utils.NewRSRParsersMustCompile("~*tmp.*tntID.Value", ";")}, } for _, f := range fc { f.ComputePath() @@ -206,10 +206,10 @@ func TestNewRecordWithComposeError(t *testing.T) { cfg := config.NewDefaultCGRConfig() fs := engine.NewFilterS(cfg, nil, nil) fc := []*config.FCTemplate{ - {Type: utils.MetaVariable, Path: "Tenant", Value: config.NewRSRParsersMustCompile("~*req.0", ";")}, - {Type: utils.MetaVariable, Path: "ID", Value: config.NewRSRParsersMustCompile("~*req.1", ";")}, - {Type: utils.MetaVariable, Path: "*tmp.*tntID.Value", Value: config.NewRSRParsersMustCompile("0", ";")}, - {Type: utils.MetaComposed, Path: "Value.NotVal", Value: config.NewRSRParsersMustCompile("~*tmp.*tntID.Value", ";")}, + {Type: utils.MetaVariable, Path: "Tenant", Value: utils.NewRSRParsersMustCompile("~*req.0", ";")}, + {Type: utils.MetaVariable, Path: "ID", Value: utils.NewRSRParsersMustCompile("~*req.1", ";")}, + {Type: utils.MetaVariable, Path: "*tmp.*tntID.Value", Value: utils.NewRSRParsersMustCompile("0", ";")}, + {Type: utils.MetaComposed, Path: "Value.NotVal", Value: utils.NewRSRParsersMustCompile("~*tmp.*tntID.Value", ";")}, } for _, f := range fc { f.ComputePath() @@ -227,8 +227,8 @@ func TestNewRecordWithRemoveError(t *testing.T) { cfg := config.NewDefaultCGRConfig() fs := engine.NewFilterS(cfg, nil, nil) fc := []*config.FCTemplate{ - {Type: utils.MetaVariable, Path: "*tmp.Value.0.Field", Value: config.NewRSRParsersMustCompile("tmp", ";")}, - {Type: utils.MetaRemove, Path: "*tmp.Value.NotVal", Value: config.NewRSRParsersMustCompile("tmp", ";")}, + {Type: utils.MetaVariable, Path: "*tmp.Value.0.Field", Value: utils.NewRSRParsersMustCompile("tmp", ";")}, + {Type: utils.MetaRemove, Path: "*tmp.Value.NotVal", Value: utils.NewRSRParsersMustCompile("tmp", ";")}, } for _, f := range fc { f.ComputePath() @@ -247,8 +247,8 @@ func TestNewRecordSetFieldsError(t *testing.T) { cfg := config.NewDefaultCGRConfig() fs := engine.NewFilterS(cfg, nil, nil) fc := []*config.FCTemplate{ - {Type: utils.MetaVariable, Path: "*tmp.Value<0.Field", Value: config.NewRSRParsersMustCompile("~*cfg.tmp", ";")}, - {Type: utils.MetaVariable, Path: "*tmp.Value<0.Field", Value: config.NewRSRParsersMustCompile("tmp", ";")}, + {Type: utils.MetaVariable, Path: "*tmp.Value<0.Field", Value: utils.NewRSRParsersMustCompile("~*cfg.tmp", ";")}, + {Type: utils.MetaVariable, Path: "*tmp.Value<0.Field", Value: utils.NewRSRParsersMustCompile("tmp", ";")}, } for _, f := range fc { f.ComputePath() @@ -266,7 +266,7 @@ func TestNewRecordSetFieldsMandatoryError(t *testing.T) { cfg := config.NewDefaultCGRConfig() fs := engine.NewFilterS(cfg, nil, nil) fc := []*config.FCTemplate{ - {Type: utils.MetaVariable, Path: "path", Value: config.NewRSRParsersMustCompile("~*cfg.tmp", ";"), Mandatory: true}, + {Type: utils.MetaVariable, Path: "path", Value: utils.NewRSRParsersMustCompile("~*cfg.tmp", ";"), Mandatory: true}, } for _, f := range fc { f.ComputePath() diff --git a/loaders/loader_test.go b/loaders/loader_test.go index c7342ab87..a9739cb6b 100644 --- a/loaders/loader_test.go +++ b/loaders/loader_test.go @@ -707,8 +707,8 @@ func TestLoaderProcessData(t *testing.T) { ld := newLoader(cfg, cfg.LoaderCfg()[0], dm, cache, fS, cM, nil) fc := []*config.FCTemplate{ - {Path: utils.Tenant, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, - {Path: utils.ID, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, + {Path: utils.Tenant, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, + {Path: utils.ID, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, } for _, f := range fc { f.ComputePath() @@ -765,8 +765,8 @@ cgrates.org,ID2`, utils.CSVSep, -1), fc, utils.MetaAttributes, utils.MetaStore, } fc = []*config.FCTemplate{ - {Path: utils.Tenant, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, - {Path: utils.ID, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, + {Path: utils.Tenant, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, + {Path: utils.ID, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, } for _, f := range fc { f.ComputePath() @@ -796,8 +796,8 @@ func TestLoaderProcessFileURL(t *testing.T) { ld := newLoader(cfg, cfg.LoaderCfg()[0], dm, cache, fS, cM, nil) fc := []*config.FCTemplate{ - {Path: utils.Tenant, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, - {Path: utils.ID, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, + {Path: utils.Tenant, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, + {Path: utils.ID, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, } for _, f := range fc { f.ComputePath() @@ -855,8 +855,8 @@ func TestLoaderProcessIFile(t *testing.T) { cache[k] = ltcache.NewCache(cfg.Limit, cfg.TTL, cfg.StaticTTL, nil) } fc := []*config.FCTemplate{ - {Path: utils.Tenant, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, - {Path: utils.ID, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, + {Path: utils.Tenant, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, + {Path: utils.ID, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, } for _, f := range fc { f.ComputePath() @@ -945,8 +945,8 @@ func TestLoaderProcessFolder(t *testing.T) { cache[k] = ltcache.NewCache(cfg.Limit, cfg.TTL, cfg.StaticTTL, nil) } fc := []*config.FCTemplate{ - {Path: utils.Tenant, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, - {Path: utils.ID, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, + {Path: utils.Tenant, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, + {Path: utils.ID, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, } for _, f := range fc { f.ComputePath() diff --git a/loaders/loaders_test.go b/loaders/loaders_test.go index b718af2a4..57d7213bb 100644 --- a/loaders/loaders_test.go +++ b/loaders/loaders_test.go @@ -102,8 +102,8 @@ func TestNewLoaderService(t *testing.T) { func TestLoaderServiceV1Run(t *testing.T) { cfg := config.NewDefaultCGRConfig() fc := []*config.FCTemplate{ - {Path: utils.Tenant, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, - {Path: utils.ID, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, + {Path: utils.Tenant, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, + {Path: utils.ID, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, } tmpIn, err := os.MkdirTemp(utils.EmptyString, "TestLoaderServiceV1RunIn") if err != nil { @@ -311,8 +311,8 @@ func TestLoaderServiceV1RunErrors(t *testing.T) { func TestLoaderServiceV1ImportZip(t *testing.T) { cfg := config.NewDefaultCGRConfig() fc := []*config.FCTemplate{ - {Path: utils.Tenant, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, - {Path: utils.ID, Type: utils.MetaVariable, Value: config.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, + {Path: utils.Tenant, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.0", utils.RSRConstSep)}, + {Path: utils.ID, Type: utils.MetaVariable, Value: utils.NewRSRParsersMustCompile("~*req.1", utils.RSRConstSep)}, } for _, f := range fc { f.ComputePath() diff --git a/migrator/attributes.go b/migrator/attributes.go index 6d2ac61aa..59b6deb29 100644 --- a/migrator/attributes.go +++ b/migrator/attributes.go @@ -24,7 +24,6 @@ import ( "strings" "github.com/cgrates/birpc/context" - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/engine" "github.com/cgrates/cgrates/utils" ) @@ -290,7 +289,7 @@ func (v1AttrPrf v1AttributeProfile) AsAttributeProfile() (attrPrf *v2AttributePr for _, mp := range v1AttrPrf.Attributes { for _, attr := range mp { - sbstPrsr, err := config.NewRSRParsers(attr.Substitute, utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers(attr.Substitute, utils.RSRSep) if err != nil { return nil, err } @@ -358,7 +357,7 @@ func (v1AttrPrf v1AttributeProfile) AsAttributeProfileV1To4() (attrPrf *v4Attrib filterIDs = append(filterIDs, utils.MetaString+utils.ConcatenatedKeySep+attr.FieldName+utils.ConcatenatedKeySep+attr.Initial) } // create RSRParser - sbstPrsr, err := config.NewRSRParsers(attr.Substitute, utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers(attr.Substitute, utils.RSRSep) if err != nil { return nil, err } @@ -409,7 +408,7 @@ func (v4AttrPrf v4AttributeProfile) AsAttributeProfile() (attrPrf *v6AttributePr if strings.HasPrefix(val, utils.DynamicDataPrefix) { val = val[1:] // remove the DynamicDataPrefix val = utils.DynamicDataPrefix + utils.MetaReq + utils.NestingSep + val - rsrVal, err = config.NewRSRParsers(val, utils.RSRSep) + rsrVal, err = utils.NewRSRParsers(val, utils.RSRSep) if err != nil { return nil, err } @@ -431,7 +430,7 @@ func (v4AttrPrf v4AttributeProfile) AsAttributeProfile() (attrPrf *v6AttributePr type v2Attribute struct { FieldName string Initial any - Substitute config.RSRParsers + Substitute utils.RSRParsers Append bool } @@ -448,7 +447,7 @@ type v2AttributeProfile struct { type v3Attribute struct { FilterIDs []string FieldName string - Substitute config.RSRParsers + Substitute utils.RSRParsers } type v3AttributeProfile struct { @@ -465,7 +464,7 @@ type v4Attribute struct { FilterIDs []string FieldName string Type string - Value config.RSRParsers + Value utils.RSRParsers } type v4AttributeProfile struct { @@ -484,7 +483,7 @@ type v6Attribute struct { FilterIDs []string Path string Type string - Value config.RSRParsers + Value utils.RSRParsers } // AttributeProfile the profile definition for the attributes diff --git a/migrator/attributes_it_test.go b/migrator/attributes_it_test.go index 5a3d60349..e8ab8d302 100644 --- a/migrator/attributes_it_test.go +++ b/migrator/attributes_it_test.go @@ -313,7 +313,7 @@ func testAttrITMigrateAndMove(t *testing.T) { FilterIDs: []string{"*string:FL1:In1"}, Path: utils.MetaReq + utils.NestingSep + "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -331,7 +331,7 @@ func testAttrITMigrateAndMove(t *testing.T) { FilterIDs: []string{"*string:FL1:In1"}, Path: utils.MetaReq + utils.NestingSep + "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -460,7 +460,7 @@ func testAttrITMigrateV2(t *testing.T) { { FieldName: "FL1", Initial: "In1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), Append: true, }, }, @@ -476,7 +476,7 @@ func testAttrITMigrateV2(t *testing.T) { FilterIDs: []string{"*string:FL1:In1"}, Path: utils.MetaReq + utils.NestingSep + "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -542,7 +542,7 @@ func testAttrITMigrateV3(t *testing.T) { { FilterIDs: []string{"*string:FL1:In1"}, FieldName: "FL1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weight: 20, @@ -557,7 +557,7 @@ func testAttrITMigrateV3(t *testing.T) { FilterIDs: []string{"*string:FL1:In1"}, Path: utils.MetaReq + utils.NestingSep + "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -626,7 +626,7 @@ func testAttrITMigrateV4(t *testing.T) { { FilterIDs: []string{"*string:~*req.FL1:In1"}, FieldName: "FL1", - Value: config.NewRSRParsersMustCompile("~Category:s/(.*)/${1}_UK_Mobile_Vodafone_GBRVF/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~Category:s/(.*)/${1}_UK_Mobile_Vodafone_GBRVF/", utils.InfieldSep), Type: utils.MetaVariable, }, }, @@ -642,7 +642,7 @@ func testAttrITMigrateV4(t *testing.T) { FilterIDs: []string{"*string:~*req.FL1:In1"}, Path: utils.MetaReq + utils.NestingSep + "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.Category:s/(.*)/${1}_UK_Mobile_Vodafone_GBRVF/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Category:s/(.*)/${1}_UK_Mobile_Vodafone_GBRVF/", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -737,7 +737,7 @@ func testAttrITV1ToV5(t *testing.T) { } // Construct the exepected output - sbstPrsr, err := config.NewRSRParsers("Al1", utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers("Al1", utils.RSRSep) if err != nil { t.Error("Error converting Substitute from string to RSRParser: ", err) } @@ -825,7 +825,7 @@ func testAttrITV1ToV5(t *testing.T) { func testAttrITV2ToV5(t *testing.T) { // contruct the first v2 attributeProfile with all fields filled up - sbstPrsr, err := config.NewRSRParsers("Al1", utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers("Al1", utils.RSRSep) if err != nil { t.Error("Error converting Substitute from string to RSRParser: ", err) } @@ -953,7 +953,7 @@ func testAttrITV2ToV5(t *testing.T) { func testAttrITV3ToV5(t *testing.T) { // contruct the first v3 attributeProfile with all fields filled up - sbstPrsr, err := config.NewRSRParsers("Al1", utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers("Al1", utils.RSRSep) if err != nil { t.Error("Error converting Substitute from string to RSRParser: ", err) } @@ -1089,7 +1089,7 @@ func testAttrITV3ToV5(t *testing.T) { func testAttrITdryRunV2ToV5(t *testing.T) { // Test with dryRun on true // contruct the v2 attributeProfile with all fields filled up - sbstPrsr, err := config.NewRSRParsers("Al1", utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers("Al1", utils.RSRSep) if err != nil { t.Error("Error converting Substitute from string to RSRParser: ", err) } @@ -1148,7 +1148,7 @@ func testAttrITdryRunV2ToV5(t *testing.T) { func testAttrITdryRunV3ToV5(t *testing.T) { // Test with dryRun on true // contruct the v3 attributeProfile with all fields filled up - sbstPrsr, err := config.NewRSRParsers("Al1", utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers("Al1", utils.RSRSep) if err != nil { t.Error("Error converting Substitute from string to RSRParser: ", err) } diff --git a/migrator/attributes_test.go b/migrator/attributes_test.go index c4373c9f3..7b5ca1309 100644 --- a/migrator/attributes_test.go +++ b/migrator/attributes_test.go @@ -22,7 +22,6 @@ import ( "testing" "time" - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/utils" ) @@ -61,7 +60,7 @@ func TestV1AttributeProfileAsAttributeProfile(t *testing.T) { { FieldName: "FL1", Initial: "In1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), Append: true, }, }, @@ -89,7 +88,7 @@ func TestV2AttributeProfileAsAttributeProfile(t *testing.T) { { FieldName: "FL1", Initial: "In1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), Append: true, }, }, @@ -108,7 +107,7 @@ func TestV2AttributeProfileAsAttributeProfile(t *testing.T) { { FilterIDs: []string{"*string:FL1:In1"}, FieldName: "FL1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weight: 20, @@ -135,7 +134,7 @@ func TestV2AttributeProfileAsAttributeProfile2(t *testing.T) { { FieldName: "FL1", Initial: nil, - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), Append: true, }, }, @@ -154,7 +153,7 @@ func TestV2AttributeProfileAsAttributeProfile2(t *testing.T) { { FilterIDs: []string{"*string:FL1:"}, FieldName: "FL1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weight: 20, @@ -181,7 +180,7 @@ func TestV3AttributeProfileAsAttributeProfile(t *testing.T) { { FilterIDs: []string{"*string:FL1:In1"}, FieldName: "FL1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weight: 20, @@ -200,7 +199,7 @@ func TestV3AttributeProfileAsAttributeProfile(t *testing.T) { FilterIDs: []string{"*string:FL1:In1"}, FieldName: "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weight: 20, @@ -227,7 +226,7 @@ func TestV4AttributeProfileAsAttributeProfile(t *testing.T) { { FieldName: "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~Category:s/(.*)/${1}_UK_Mobile_Vodafone_GBRVF/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~Category:s/(.*)/${1}_UK_Mobile_Vodafone_GBRVF/", utils.InfieldSep), }, }, Weight: 20, @@ -241,7 +240,7 @@ func TestV4AttributeProfileAsAttributeProfile(t *testing.T) { { Path: utils.MetaReq + utils.NestingSep + "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.Category:s/(.*)/${1}_UK_Mobile_Vodafone_GBRVF/", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Category:s/(.*)/${1}_UK_Mobile_Vodafone_GBRVF/", utils.InfieldSep), }, }, Weight: 20, @@ -275,7 +274,7 @@ func TestAsAttributeProfileV2(t *testing.T) { Attributes: mapSubstitutes, Weight: 20, } - sbstPrsr, err := config.NewRSRParsers("Al1", utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers("Al1", utils.RSRSep) if err != nil { t.Error("Error converting Substitute from string to RSRParser: ", err) } @@ -321,7 +320,7 @@ func TestAsAttributeProfileV3(t *testing.T) { { FieldName: "FL1", Initial: "In1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), Append: true, }, }, @@ -340,7 +339,7 @@ func TestAsAttributeProfileV3(t *testing.T) { { FilterIDs: []string{"*string:FL1:In1"}, //here FieldName: "FL1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }}, Weight: 20, } @@ -365,7 +364,7 @@ func TestAsAttributeProfileV4(t *testing.T) { { FilterIDs: []string{"*string:FL1:In1"}, FieldName: "FL1", - Substitute: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Substitute: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }, }, Weight: 20, @@ -384,7 +383,7 @@ func TestAsAttributeProfileV4(t *testing.T) { FilterIDs: []string{"*string:FL1:In1"}, FieldName: "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("Al1", utils.InfieldSep), }}, Blocker: false, @@ -413,7 +412,7 @@ func TestAsAttributeProfileV5(t *testing.T) { FilterIDs: []string{"*string:FL1:In1"}, FieldName: "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~Al1", utils.InfieldSep), }, }, Weight: 20, @@ -429,7 +428,7 @@ func TestAsAttributeProfileV5(t *testing.T) { FilterIDs: []string{"*string:FL1:In1"}, Path: utils.MetaReq + utils.NestingSep + "FL1", Type: utils.MetaVariable, - Value: config.NewRSRParsersMustCompile("~*req.Al1", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("~*req.Al1", utils.InfieldSep), }, }, Weight: 20, @@ -464,7 +463,7 @@ func TestAsAttributeProfileV1To4(t *testing.T) { Attributes: mapSubstitutes, Weight: 20, } - sbstPrsr, err := config.NewRSRParsers("Al1", utils.RSRSep) + sbstPrsr, err := utils.NewRSRParsers("Al1", utils.RSRSep) if err != nil { t.Error("Error converting Substitute from string to RSRParser: ", err) } diff --git a/migrator/filters.go b/migrator/filters.go index 757f24934..2fbbe7954 100644 --- a/migrator/filters.go +++ b/migrator/filters.go @@ -24,7 +24,6 @@ import ( "strings" "github.com/cgrates/birpc/context" - "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/engine" "github.com/cgrates/cgrates/utils" ) @@ -734,10 +733,10 @@ type v1Filter struct { } type v1FilterRule struct { - Type string // Filter type (*string, *rsr_filters, *stats, *lt, *lte, *gt, *gte) - FieldName string // Name of the field providing us the Values to check (used in case of some ) - Values []string // Filter definition - rsrFields config.RSRParsers // Cache here the RSRFilter Values + Type string // Filter type (*string, *rsr_filters, *stats, *lt, *lte, *gt, *gte) + FieldName string // Name of the field providing us the Values to check (used in case of some ) + Values []string // Filter definition + rsrFields utils.RSRParsers // Cache here the RSRFilter Values negative *bool } diff --git a/migrator/filters_it_test.go b/migrator/filters_it_test.go index 0c83fa495..a5d2f0558 100644 --- a/migrator/filters_it_test.go +++ b/migrator/filters_it_test.go @@ -170,7 +170,7 @@ func testFltrITMigrateAndMove(t *testing.T) { { FilterIDs: []string{"*string:Account:1001"}, Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1002", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -187,7 +187,7 @@ func testFltrITMigrateAndMove(t *testing.T) { { FilterIDs: []string{"*string:~*req.Account:1001"}, Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1002", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -370,7 +370,7 @@ func testFltrITMigratev2(t *testing.T) { { FilterIDs: []string{"*string:~Account:1001"}, Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1002", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ @@ -387,7 +387,7 @@ func testFltrITMigratev2(t *testing.T) { { FilterIDs: []string{"*string:~*req.Account:1001"}, Path: utils.MetaReq + utils.NestingSep + "Account", - Value: config.NewRSRParsersMustCompile("1002", utils.InfieldSep), + Value: utils.NewRSRParsersMustCompile("1002", utils.InfieldSep), }, }, Weights: utils.DynamicWeights{ diff --git a/services/ees_it_test.go b/services/ees_it_test.go index 4e4cb6476..e296a4157 100644 --- a/services/ees_it_test.go +++ b/services/ees_it_test.go @@ -79,7 +79,7 @@ package services // fcTmp := &config.FCTemplate{Tag: "TenantID", // Path: "Tenant", // Type: utils.MetaVariable, -// Value: config.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), +// Value: utils.NewRSRParsersMustCompile("~*req.0", utils.InfieldSep), // Mandatory: true, // Layout: time.RFC3339, // } diff --git a/services/loaders_it_test.go b/services/loaders_it_test.go index 2255025d3..0dbfffcfe 100644 --- a/services/loaders_it_test.go +++ b/services/loaders_it_test.go @@ -63,7 +63,7 @@ package services // { // Type: utils.MetaVariable, // Path: "*req.Accounts", -// Value: config.NewRSRParsersMustCompile("1001", utils.InfieldSep), +// Value: utils.NewRSRParsersMustCompile("1001", utils.InfieldSep), // }, // } // diff --git a/config/rsrparser.go b/utils/rsrparser.go similarity index 74% rename from config/rsrparser.go rename to utils/rsrparser.go index 0aea22242..38774982d 100644 --- a/config/rsrparser.go +++ b/utils/rsrparser.go @@ -16,14 +16,12 @@ You should have received a copy of the GNU General Public License along with this program. If not, see */ -package config +package utils import ( "fmt" "regexp" "strings" - - "github.com/cgrates/cgrates/utils" ) var ( @@ -33,22 +31,22 @@ var ( // NewRSRParsers creates a new RSRParsers by spliting the rule using the separator func NewRSRParsers(parsersRules, sep string) (prsrs RSRParsers, err error) { - if parsersRules == utils.EmptyString { + if parsersRules == EmptyString { return } - if count := strings.Count(parsersRules, utils.RSRConstSep); count%2 != 0 { // check if we have matching ` + if count := strings.Count(parsersRules, RSRConstSep); count%2 != 0 { // check if we have matching ` return nil, fmt.Errorf("Closed unspilit syntax") } else if count != 0 { var splitedRule []string - for idx := strings.IndexByte(parsersRules, utils.RSRConstChar); idx != -1; idx = strings.IndexByte(parsersRules, utils.RSRConstChar) { - insideARulePrefix := !strings.HasSuffix(parsersRules[:idx], utils.InfieldSep) // if doesn't have ; we need to concatenate it with last rule + for idx := strings.IndexByte(parsersRules, RSRConstChar); idx != -1; idx = strings.IndexByte(parsersRules, RSRConstChar) { + insideARulePrefix := !strings.HasSuffix(parsersRules[:idx], InfieldSep) // if doesn't have ; we need to concatenate it with last rule if insideARulePrefix { - splitedRule = append(splitedRule, strings.Split(parsersRules[:idx], utils.InfieldSep)...) + splitedRule = append(splitedRule, strings.Split(parsersRules[:idx], InfieldSep)...) } else { - splitedRule = append(splitedRule, strings.Split(parsersRules[:idx-1], utils.InfieldSep)...) + splitedRule = append(splitedRule, strings.Split(parsersRules[:idx-1], InfieldSep)...) } parsersRules = parsersRules[idx+1:] - idx = strings.IndexByte(parsersRules, utils.RSRConstChar) + idx = strings.IndexByte(parsersRules, RSRConstChar) if insideARulePrefix { splitedRule[len(splitedRule)-1] += parsersRules[:idx] } else { @@ -59,9 +57,9 @@ func NewRSRParsers(parsersRules, sep string) (prsrs RSRParsers, err error) { if len(parsersRules) == 0 { continue } - insideARuleSufix := !strings.HasPrefix(parsersRules, utils.InfieldSep) // if doesn't have ; we need to concatenate it with last rule + insideARuleSufix := !strings.HasPrefix(parsersRules, InfieldSep) // if doesn't have ; we need to concatenate it with last rule if insideARuleSufix { - idx = strings.IndexByte(parsersRules, utils.FallbackSep) // ';' + idx = strings.IndexByte(parsersRules, FallbackSep) // ';' if idx == -1 { idx = len(parsersRules) splitedRule[len(splitedRule)-1] += parsersRules[:idx] @@ -76,7 +74,7 @@ func NewRSRParsers(parsersRules, sep string) (prsrs RSRParsers, err error) { break } if count == 0 { // no more ` so add the rest - splitedRule = append(splitedRule, strings.Split(parsersRules, utils.InfieldSep)...) + splitedRule = append(splitedRule, strings.Split(parsersRules, InfieldSep)...) break } } @@ -113,7 +111,7 @@ type RSRParsers []*RSRParser // GetRule returns the original string from which the rules were composed func (prsrs RSRParsers) GetRule() (out string) { for _, prsr := range prsrs { - out += utils.RSRSep + prsr.Rules + out += RSRSep + prsr.Rules } if len(out) != 0 { out = out[1:] @@ -136,7 +134,7 @@ func (prsrs RSRParsers) ParseValue(value any) (out string, err error) { for _, prsr := range prsrs { var outPrsr string if outPrsr, err = prsr.ParseValue(value); err != nil { - return utils.EmptyString, err + return EmptyString, err } out += outPrsr } @@ -144,11 +142,11 @@ func (prsrs RSRParsers) ParseValue(value any) (out string, err error) { } // ParseDataProvider will parse the dataprovider using DPDynamicString -func (prsrs RSRParsers) ParseDataProvider(dP utils.DataProvider) (out string, err error) { +func (prsrs RSRParsers) ParseDataProvider(dP DataProvider) (out string, err error) { for _, prsr := range prsrs { var outPrsr string if outPrsr, err = prsr.ParseDataProvider(dP); err != nil { - return utils.EmptyString, err + return EmptyString, err } out += outPrsr } @@ -156,11 +154,11 @@ func (prsrs RSRParsers) ParseDataProvider(dP utils.DataProvider) (out string, er } // ParseDataProviderWithInterfaces will parse the dataprovider using DPDynamicInterface -func (prsrs RSRParsers) ParseDataProviderWithInterfaces(dP utils.DataProvider) (out string, err error) { +func (prsrs RSRParsers) ParseDataProviderWithInterfaces(dP DataProvider) (out string, err error) { for _, prsr := range prsrs { var outPrsr string if outPrsr, err = prsr.ParseDataProviderWithInterfaces(dP); err != nil { - return utils.EmptyString, err + return EmptyString, err } out += outPrsr } @@ -168,7 +166,7 @@ func (prsrs RSRParsers) ParseDataProviderWithInterfaces(dP utils.DataProvider) ( } // ParseDataProviderWithInterfaces will parse the dataprovider using DPDynamicInterface -func (prsrs RSRParsers) ParseDataProviderWithInterfaces2(dP utils.DataProvider) (out any, err error) { +func (prsrs RSRParsers) ParseDataProviderWithInterfaces2(dP DataProvider) (out any, err error) { for i, prsr := range prsrs { outPrsr, err := prsr.ParseDataProviderWithInterfaces2(dP) if err != nil { @@ -177,21 +175,21 @@ func (prsrs RSRParsers) ParseDataProviderWithInterfaces2(dP utils.DataProvider) if i == 0 { out = outPrsr } else { - out = utils.IfaceAsString(out) + utils.IfaceAsString(outPrsr) + out = IfaceAsString(out) + IfaceAsString(outPrsr) } } return } // GetIfaceFromValues returns an interface for each RSRParser -func (prsrs RSRParsers) GetIfaceFromValues(evNm utils.DataProvider) (iFaceVals []any, err error) { +func (prsrs RSRParsers) GetIfaceFromValues(evNm DataProvider) (iFaceVals []any, err error) { iFaceVals = make([]any, len(prsrs)) for i, val := range prsrs { var strVal string if strVal, err = val.ParseDataProvider(evNm); err != nil { return } - iFaceVals[i] = utils.StringToInterface(strVal) + iFaceVals[i] = StringToInterface(strVal) } return } @@ -241,9 +239,9 @@ func NewRSRParserMustCompile(parserRules string) (rsrPrsr *RSRParser) { type RSRParser struct { Rules string // Rules container holding the string rules, public so it can be stored - path string // instruct extracting info out of header in event - rsrRules []*utils.ReSearchReplace // rules to use when parsing value - converters utils.DataConverters // set of converters to apply on output + path string // instruct extracting info out of header in event + rsrRules []*ReSearchReplace // rules to use when parsing value + converters DataConverters // set of converters to apply on output dynIdxStart int dynIdxEnd int @@ -252,18 +250,18 @@ type RSRParser struct { // AttrName exports the attribute name of the RSRParser func (prsr *RSRParser) AttrName() string { - return strings.TrimPrefix(prsr.path, utils.DynamicDataPrefix) + return strings.TrimPrefix(prsr.path, DynamicDataPrefix) } // Compile parses Rules string and repopulates other fields func (prsr *RSRParser) Compile() (err error) { parserRules := prsr.Rules - if dynIdxStart := strings.IndexByte(parserRules, utils.RSRDynStartChar); dynIdxStart != -1 { - if dynIdxEnd := strings.IndexByte(parserRules[dynIdxStart:], utils.RSRDynEndChar); dynIdxEnd != -1 { + if dynIdxStart := strings.IndexByte(parserRules, RSRDynStartChar); dynIdxStart != -1 { + if dynIdxEnd := strings.IndexByte(parserRules[dynIdxStart:], RSRDynEndChar); dynIdxEnd != -1 { var dynrules RSRParsers if dynrules, err = NewRSRParsers(parserRules[dynIdxStart+1:dynIdxStart+dynIdxEnd], - utils.RSRSep); err != nil { + RSRSep); err != nil { return } prsr.dynRules = dynrules @@ -273,17 +271,17 @@ func (prsr *RSRParser) Compile() (err error) { } } - if idxConverters := strings.Index(parserRules, utils.RSRDataConverterPrefix); idxConverters != -1 { // converters in the string - if !strings.HasSuffix(parserRules, utils.RSRDataConverterSufix) { + if idxConverters := strings.Index(parserRules, RSRDataConverterPrefix); idxConverters != -1 { // converters in the string + if !strings.HasSuffix(parserRules, RSRDataConverterSufix) { return fmt.Errorf("invalid converter terminator in rule: <%s>", parserRules) } convertersStr := parserRules[idxConverters+1 : len(parserRules)-1] // strip also {} - convsSplt := strings.Split(convertersStr, utils.ANDSep) - prsr.converters = make(utils.DataConverters, len(convsSplt)) + convsSplt := strings.Split(convertersStr, ANDSep) + prsr.converters = make(DataConverters, len(convsSplt)) for i, convStr := range convsSplt { - var conv utils.DataConverter - if conv, err = utils.NewDataConverter(convStr); err != nil { + var conv DataConverter + if conv, err = NewDataConverter(convStr); err != nil { return fmt.Errorf("invalid converter value in string: <%s>, err: %s", convStr, err.Error()) } @@ -291,7 +289,7 @@ func (prsr *RSRParser) Compile() (err error) { } parserRules = parserRules[:idxConverters] } - if !strings.HasPrefix(parserRules, utils.DynamicDataPrefix) || + if !strings.HasPrefix(parserRules, DynamicDataPrefix) || len(parserRules) == 1 { // special case when RSR is defined as static attribute prsr.path = parserRules return @@ -299,7 +297,7 @@ func (prsr *RSRParser) Compile() (err error) { // dynamic content via attributeNames spltRules := spltRgxp.Split(parserRules, -1) prsr.path = spltRules[0] // in form ~hdr_name - prsr.rsrRules = make([]*utils.ReSearchReplace, 0, len(spltRules[1:])) + prsr.rsrRules = make([]*ReSearchReplace, 0, len(spltRules[1:])) if len(spltRules) > 1 { for _, ruleStr := range spltRules[1:] { // :s/ already removed through split allMatches := rulesRgxp.FindStringSubmatch(ruleStr) @@ -310,7 +308,7 @@ func (prsr *RSRParser) Compile() (err error) { if srRegexp, err = regexp.Compile(allMatches[1]); err != nil { return fmt.Errorf("invalid Search&Replace subfield rule: <%s>", allMatches[1]) } - prsr.rsrRules = append(prsr.rsrRules, &utils.ReSearchReplace{ + prsr.rsrRules = append(prsr.rsrRules, &ReSearchReplace{ SearchRegexp: srRegexp, ReplaceTemplate: allMatches[2], }) @@ -330,7 +328,7 @@ func (prsr *RSRParser) parseValue(value string) (out string, err error) { // parseValue the field value from a string func (prsr *RSRParser) parseValueInterface(value any) (out any, err error) { for _, rsRule := range prsr.rsrRules { - value = rsRule.Process(utils.IfaceAsString(value)) + value = rsRule.Process(IfaceAsString(value)) } return prsr.converters.ConvertInterface(value) } @@ -338,15 +336,15 @@ func (prsr *RSRParser) parseValueInterface(value any) (out any, err error) { // ParseValue will parse the value out considering converters func (prsr *RSRParser) ParseValue(value any) (out string, err error) { out = prsr.path - if out != utils.DynamicDataPrefix && - strings.HasPrefix(out, utils.DynamicDataPrefix) { // Enforce parsing of static values - out = utils.IfaceAsString(value) + if out != DynamicDataPrefix && + strings.HasPrefix(out, DynamicDataPrefix) { // Enforce parsing of static values + out = IfaceAsString(value) } return prsr.parseValue(out) } // ParseDataProvider will parse the dataprovider using DPDynamicString -func (prsr *RSRParser) ParseDataProvider(dP utils.DataProvider) (out string, err error) { +func (prsr *RSRParser) ParseDataProvider(dP DataProvider) (out string, err error) { if prsr.dynRules != nil { var dynPath string if dynPath, err = prsr.dynRules.ParseDataProvider(dP); err != nil { @@ -359,14 +357,14 @@ func (prsr *RSRParser) ParseDataProvider(dP utils.DataProvider) (out string, err return dynRSR.ParseDataProvider(dP) } var outStr string - if outStr, err = utils.DPDynamicString(prsr.path, dP); err != nil { + if outStr, err = DPDynamicString(prsr.path, dP); err != nil { return } return prsr.parseValue(outStr) } // ParseDataProviderWithInterfaces will parse the dataprovider using DPDynamicInterface -func (prsr *RSRParser) ParseDataProviderWithInterfaces(dP utils.DataProvider) (out string, err error) { +func (prsr *RSRParser) ParseDataProviderWithInterfaces(dP DataProvider) (out string, err error) { if prsr.dynRules != nil { var dynPath string if dynPath, err = prsr.dynRules.ParseDataProvider(dP); err != nil { @@ -379,14 +377,14 @@ func (prsr *RSRParser) ParseDataProviderWithInterfaces(dP utils.DataProvider) (o return dynRSR.ParseDataProviderWithInterfaces(dP) } var outIface any - if outIface, err = utils.DPDynamicInterface(prsr.path, dP); err != nil { + if outIface, err = DPDynamicInterface(prsr.path, dP); err != nil { return } - return prsr.parseValue(utils.IfaceAsString(outIface)) + return prsr.parseValue(IfaceAsString(outIface)) } // ParseDataProviderWithInterfaces will parse the dataprovider using DPDynamicInterface -func (prsr *RSRParser) ParseDataProviderWithInterfaces2(dP utils.DataProvider) (out any, err error) { +func (prsr *RSRParser) ParseDataProviderWithInterfaces2(dP DataProvider) (out any, err error) { if prsr.dynRules != nil { var dynPath string if dynPath, err = prsr.dynRules.ParseDataProvider(dP); err != nil { @@ -399,14 +397,14 @@ func (prsr *RSRParser) ParseDataProviderWithInterfaces2(dP utils.DataProvider) ( return dynRSR.ParseDataProviderWithInterfaces2(dP) } var outIface any - if outIface, err = utils.DPDynamicInterface(prsr.path, dP); err != nil { + if outIface, err = DPDynamicInterface(prsr.path, dP); err != nil { return } return prsr.parseValueInterface(outIface) } // CompileDynRule will return the compiled dynamic rule -func (prsr *RSRParser) CompileDynRule(dP utils.DataProvider) (p string, err error) { +func (prsr *RSRParser) CompileDynRule(dP DataProvider) (p string, err error) { if prsr.dynRules == nil { return prsr.Rules, nil } @@ -427,13 +425,13 @@ func (prsr RSRParser) Clone() (cln *RSRParser) { dynRules: prsr.dynRules.Clone(), } if prsr.rsrRules != nil { - cln.rsrRules = make([]*utils.ReSearchReplace, len(prsr.rsrRules)) + cln.rsrRules = make([]*ReSearchReplace, len(prsr.rsrRules)) for i, rsr := range prsr.rsrRules { cln.rsrRules[i] = rsr.Clone() } } if prsr.converters != nil { - cln.converters = make(utils.DataConverters, len(prsr.converters)) + cln.converters = make(DataConverters, len(prsr.converters)) // we can't modify the convertor only overwrite it // safe to copy it's value copy(cln.converters, prsr.converters) diff --git a/config/rsrparser_test.go b/utils/rsrparser_test.go similarity index 79% rename from config/rsrparser_test.go rename to utils/rsrparser_test.go index 96408bfc3..f509baf47 100644 --- a/config/rsrparser_test.go +++ b/utils/rsrparser_test.go @@ -16,14 +16,12 @@ You should have received a copy of the GNU General Public License along with this program. If not, see */ -package config +package utils import ( "reflect" "regexp" "testing" - - "github.com/cgrates/cgrates/utils" ) func TestNewRSRParsers(t *testing.T) { @@ -31,23 +29,23 @@ func TestNewRSRParsers(t *testing.T) { eRSRParsers := RSRParsers{ &RSRParser{Rules: "Value1", path: "Value1"}, &RSRParser{Rules: "Value2", path: "Value2"}, - &RSRParser{Rules: "~Header3", path: "~Header3", rsrRules: make([]*utils.ReSearchReplace, 0)}, + &RSRParser{Rules: "~Header3", path: "~Header3", rsrRules: make([]*ReSearchReplace, 0)}, &RSRParser{Rules: "~Header4:s/a/${1}b/{*duration_seconds&*round:2}", path: "~Header4", - rsrRules: []*utils.ReSearchReplace{{ + rsrRules: []*ReSearchReplace{{ SearchRegexp: regexp.MustCompile(`a`), ReplaceTemplate: "${1}b"}}, - converters: utils.DataConverters{utils.NewDataConverterMustCompile("*duration_seconds"), - utils.NewDataConverterMustCompile("*round:2")}, + converters: DataConverters{NewDataConverterMustCompile("*duration_seconds"), + NewDataConverterMustCompile("*round:2")}, }, &RSRParser{Rules: "Value5{*duration_seconds&*round:2}", path: "Value5", - converters: utils.DataConverters{utils.NewDataConverterMustCompile("*duration_seconds"), - utils.NewDataConverterMustCompile("*round:2")}, + converters: DataConverters{NewDataConverterMustCompile("*duration_seconds"), + NewDataConverterMustCompile("*round:2")}, }, } - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) } else if !reflect.DeepEqual(eRSRParsers, rsrParsers) { t.Errorf("expecting: %+v, received: %+v", eRSRParsers, rsrParsers) @@ -58,11 +56,11 @@ func TestRSRParserCompile(t *testing.T) { ePrsr := &RSRParser{ Rules: "~Header4:s/a/${1}b/{*duration_seconds&*round:2}", path: "~Header4", - rsrRules: []*utils.ReSearchReplace{{ + rsrRules: []*ReSearchReplace{{ SearchRegexp: regexp.MustCompile(`a`), ReplaceTemplate: "${1}b"}}, - converters: utils.DataConverters{utils.NewDataConverterMustCompile("*duration_seconds"), - utils.NewDataConverterMustCompile("*round:2")}, + converters: DataConverters{NewDataConverterMustCompile("*duration_seconds"), + NewDataConverterMustCompile("*round:2")}, } prsr := &RSRParser{ Rules: "~Header4:s/a/${1}b/{*duration_seconds&*round:2}", @@ -84,7 +82,7 @@ func TestRSRParserCompile(t *testing.T) { func TestRSRParserConstant(t *testing.T) { rule := "cgrates.org" - rsrParsers, err := NewRSRParsers(rule, utils.InfieldSep) + rsrParsers, err := NewRSRParsers(rule, InfieldSep) if err != nil { t.Error("Unexpected error: ", err.Error()) } @@ -97,7 +95,7 @@ func TestRSRParserConstant(t *testing.T) { func TestRSRParserNotConstant(t *testing.T) { rule := "~Header1;~Header2" - rsrParsers, err := NewRSRParsers(rule, utils.InfieldSep) + rsrParsers, err := NewRSRParsers(rule, InfieldSep) if err != nil { t.Error("Unexpected error: ", err.Error()) } @@ -113,11 +111,11 @@ func TestNewRSRParsersConstant(t *testing.T) { eRSRParsers := RSRParsers{ &RSRParser{Rules: ">;q=0.7;expires=3600", path: ">;q=0.7;expires=3600"}, } - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) } else if !reflect.DeepEqual(eRSRParsers, rsrParsers) { t.Errorf("expecting: %+v, received: %+v", eRSRParsers, rsrParsers) - } else if out, err := rsrParsers.ParseDataProvider(utils.MapStorage{}); err != nil { + } else if out, err := rsrParsers.ParseDataProvider(MapStorage{}); err != nil { t.Error(err) } else if expected := ">;q=0.7;expires=3600"; out != expected { t.Errorf("Expected %+v ,received %+v", expected, out) @@ -126,50 +124,50 @@ func TestNewRSRParsersConstant(t *testing.T) { func TestNewRSRParsersConstant2(t *testing.T) { ruleStr := "constant;something`>;q=0.7;expires=3600`new;constant" - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) - } else if out, err := rsrParsers.ParseDataProvider(utils.MapStorage{}); err != nil { + } else if out, err := rsrParsers.ParseDataProvider(MapStorage{}); err != nil { t.Error(err) } else if expected := "constantsomething>;q=0.7;expires=3600newconstant"; out != expected { t.Errorf("Expected %q ,received %q", expected, out) } ruleStr = "constant;`>;q=0.7;expires=3600`;constant" - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) - } else if out, err := rsrParsers.ParseDataProvider(utils.MapStorage{}); err != nil { + } else if out, err := rsrParsers.ParseDataProvider(MapStorage{}); err != nil { t.Error(err) } else if expected := "constant>;q=0.7;expires=3600constant"; out != expected { t.Errorf("Expected %q ,received %q", expected, out) } ruleStr = "constant;`>;q=0.7;expires=3600`constant" - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) - } else if out, err := rsrParsers.ParseDataProvider(utils.MapStorage{}); err != nil { + } else if out, err := rsrParsers.ParseDataProvider(MapStorage{}); err != nil { t.Error(err) } else if expected := "constant>;q=0.7;expires=3600constant"; out != expected { t.Errorf("Expected %q ,received %q", expected, out) } ruleStr = "constant;`>;q=0.7;expires=3600`;" - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) - } else if out, err := rsrParsers.ParseDataProvider(utils.MapStorage{}); err != nil { + } else if out, err := rsrParsers.ParseDataProvider(MapStorage{}); err != nil { t.Error(err) } else if expected := "constant>;q=0.7;expires=3600"; out != expected { t.Errorf("Expected %q ,received %q", expected, out) } ruleStr = "constant;`>;q=0.7;expires=3600constant" - if _, err := NewRSRParsers(ruleStr, utils.InfieldSep); err == nil { + if _, err := NewRSRParsers(ruleStr, InfieldSep); err == nil { t.Error("Unexpected error: ", err) } ruleStr = "constant;`>;q=0.7;expires=3600`;~*req.Account" - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err) - } else if _, err := rsrParsers.ParseDataProvider(utils.MapStorage{}); err != utils.ErrNotFound { + } else if _, err := rsrParsers.ParseDataProvider(MapStorage{}); err != ErrNotFound { t.Error(err) } @@ -193,11 +191,11 @@ func TestRSRParserCompileConstant(t *testing.T) { func TestNewRSRParsersParseDataProviderWithInterfaces(t *testing.T) { ruleStr := "~;*accounts.;~*req.Account" - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) } else if out, err := rsrParsers.ParseDataProviderWithInterfaces( - utils.MapStorage{ - utils.MetaReq: utils.MapStorage{utils.AccountField: "1001"}, + MapStorage{ + MetaReq: MapStorage{AccountField: "1001"}, }); err != nil { t.Error(err) } else if expected := "~*accounts.1001"; out != expected { @@ -205,9 +203,9 @@ func TestNewRSRParsersParseDataProviderWithInterfaces(t *testing.T) { } ruleStr = "constant;`>;q=0.7;expires=3600`;~*req.Account" - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) - } else if _, err := rsrParsers.ParseDataProviderWithInterfaces(utils.MapStorage{}); err != utils.ErrNotFound { + } else if _, err := rsrParsers.ParseDataProviderWithInterfaces(MapStorage{}); err != ErrNotFound { t.Error(err) } } @@ -233,7 +231,7 @@ func TestNewRSRParsersMustCompile(t *testing.T) { func TestRSRParserGetRule(t *testing.T) { ruleStr := "constant;~*req.Account" - if rsrParsers, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if rsrParsers, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) } else if rule := rsrParsers.GetRule(); rule != ruleStr { t.Errorf("Expected: %q received: %q", ruleStr, rule) @@ -263,7 +261,7 @@ func TestRSRParsersCompile(t *testing.T) { } func TestRSRParsersParseValue(t *testing.T) { - rsrParsers, err := NewRSRParsers("~*req.Account{*round}", utils.InfieldSep) + rsrParsers, err := NewRSRParsers("~*req.Account{*round}", InfieldSep) if err != nil { t.Error("Unexpected error: ", err.Error()) } @@ -276,7 +274,7 @@ func TestNewRSRParserMustCompile(t *testing.T) { rsr := NewRSRParserMustCompile("~*req.Account") ePrsr := &RSRParser{ Rules: "~*req.Account", - rsrRules: make([]*utils.ReSearchReplace, 0), + rsrRules: make([]*ReSearchReplace, 0), path: "~*req.Account", } if !reflect.DeepEqual(rsr, ePrsr) { @@ -325,13 +323,13 @@ func TestRSRParserDynamic(t *testing.T) { t.Errorf("expecting: %+v, received: %+v", ePrsr, prsr) } - dP := utils.MapStorage{ - utils.MetaReq: utils.MapStorage{ + dP := MapStorage{ + MetaReq: MapStorage{ - utils.RunID: utils.MetaDefault, + RunID: MetaDefault, }, - utils.MetaOpts: utils.MapStorage{ - utils.MetaOriginID: "Uniq", + MetaOpts: MapStorage{ + MetaOriginID: "Uniq", "Uniq*default-Cost": 10, }, } @@ -357,13 +355,13 @@ func TestRSRParserDynamic2(t *testing.T) { t.Fatal(err) } - dP := utils.MapStorage{ - utils.MetaReq: utils.MapStorage{ + dP := MapStorage{ + MetaReq: MapStorage{ - utils.RunID: utils.MetaDefault, + RunID: MetaDefault, }, - utils.MetaOpts: utils.MapStorage{ - utils.MetaOriginID: "originIDUniq", + MetaOpts: MapStorage{ + MetaOriginID: "originIDUniq", "originIDUniq*default-Cost": 10, }, } @@ -395,25 +393,25 @@ func TestRSRParserDynamic2(t *testing.T) { t.Errorf("Expected 2.10 received: %q", out) } - dP = utils.MapStorage{ - utils.MetaReq: utils.MapStorage{}, - utils.MetaOpts: utils.MapStorage{ - utils.MetaOriginID: "originIDUniq", + dP = MapStorage{ + MetaReq: MapStorage{}, + MetaOpts: MapStorage{ + MetaOriginID: "originIDUniq", }, } - if _, err := prsr.ParseDataProvider(dP); err != utils.ErrNotFound { - t.Errorf("Expected error %s, received: %v", utils.ErrNotFound, err) + if _, err := prsr.ParseDataProvider(dP); err != ErrNotFound { + t.Errorf("Expected error %s, received: %v", ErrNotFound, err) } prsr, err = NewRSRParsersFromSlice([]string{"2.", "~*opts.*originID<~*opts.Converter>"}) if err != nil { t.Fatal(err) } - dP = utils.MapStorage{ - utils.MetaReq: utils.MapStorage{}, - utils.MetaOpts: utils.MapStorage{ - "Converter": "{*", - utils.MetaOriginID: "originIDUniq", + dP = MapStorage{ + MetaReq: MapStorage{}, + MetaOpts: MapStorage{ + "Converter": "{*", + MetaOriginID: "originIDUniq", }, } if _, err := prsr.ParseDataProvider(dP); err == nil { @@ -427,18 +425,18 @@ func TestRSRParserDynamic3(t *testing.T) { t.Fatal(err) } - dP := utils.MapStorage{ - utils.MetaReq: utils.MapStorage{ + dP := MapStorage{ + MetaReq: MapStorage{ - utils.RunID: utils.MetaDefault, + RunID: MetaDefault, "UnitField": "Unit", "Unit": "MB", "IP": "127.0.0.1", }, - utils.MetaOpts: utils.MapStorage{ + MetaOpts: MapStorage{ - utils.MetaOriginID: "originIDUniq", + MetaOriginID: "originIDUniq", "originIDUniq*default-Cost": 10, }, } @@ -457,13 +455,13 @@ func TestRSRParserParseDataProviderWithInterfaces(t *testing.T) { t.Fatal(err) } - dP := utils.MapStorage{ - utils.MetaReq: utils.MapStorage{ + dP := MapStorage{ + MetaReq: MapStorage{ - utils.RunID: utils.MetaDefault, + RunID: MetaDefault, }, - utils.MetaOpts: utils.MapStorage{ - utils.MetaOriginID: "originIDUniq", + MetaOpts: MapStorage{ + MetaOriginID: "originIDUniq", "originIDUniq*default-Cost": 10, }, } @@ -495,25 +493,25 @@ func TestRSRParserParseDataProviderWithInterfaces(t *testing.T) { t.Errorf("Expected 210 received: %q", out) } - dP = utils.MapStorage{ - utils.MetaReq: utils.MapStorage{}, - utils.MetaOpts: utils.MapStorage{ - utils.MetaOriginID: "originIDUniq", + dP = MapStorage{ + MetaReq: MapStorage{}, + MetaOpts: MapStorage{ + MetaOriginID: "originIDUniq", }, } - if _, err := prsr.ParseDataProviderWithInterfaces(dP); err != utils.ErrNotFound { - t.Errorf("Expected error %s, received: %v", utils.ErrNotFound, err) + if _, err := prsr.ParseDataProviderWithInterfaces(dP); err != ErrNotFound { + t.Errorf("Expected error %s, received: %v", ErrNotFound, err) } prsr, err = NewRSRParsersFromSlice([]string{"2.", "~*opts.*originID<~*opts.Converter>"}) if err != nil { t.Fatal(err) } - dP = utils.MapStorage{ - utils.MetaReq: utils.MapStorage{}, - utils.MetaOpts: utils.MapStorage{ - "Converter": "{*", - utils.MetaOriginID: "originIDUniq", + dP = MapStorage{ + MetaReq: MapStorage{}, + MetaOpts: MapStorage{ + "Converter": "{*", + MetaOriginID: "originIDUniq", }, } if _, err := prsr.ParseDataProviderWithInterfaces(dP); err == nil { @@ -527,13 +525,13 @@ func TestRSRParserCompileDynRule(t *testing.T) { t.Fatal(err) } - dP := utils.MapStorage{ - utils.MetaReq: utils.MapStorage{ + dP := MapStorage{ + MetaReq: MapStorage{ - utils.RunID: utils.MetaDefault, + RunID: MetaDefault, }, - utils.MetaOpts: utils.MapStorage{ - utils.MetaOriginID: "originIDUniq", + MetaOpts: MapStorage{ + MetaOriginID: "originIDUniq", "originIDUniq*default-Cost": 10, }, } @@ -543,14 +541,14 @@ func TestRSRParserCompileDynRule(t *testing.T) { t.Errorf("Expected ~*opts.originIDUniq*default-Cost received: %q", out) } - dP = utils.MapStorage{ - utils.MetaReq: utils.MapStorage{}, - utils.MetaOpts: utils.MapStorage{ - utils.MetaOriginID: "originIDUniq", + dP = MapStorage{ + MetaReq: MapStorage{}, + MetaOpts: MapStorage{ + MetaOriginID: "originIDUniq", }, } - if _, err := prsr.CompileDynRule(dP); err != utils.ErrNotFound { - t.Errorf("Expected error %s, received: %v", utils.ErrNotFound, err) + if _, err := prsr.CompileDynRule(dP); err != ErrNotFound { + t.Errorf("Expected error %s, received: %v", ErrNotFound, err) } prsr, err = NewRSRParser("~*opts.*originID") @@ -566,18 +564,18 @@ func TestRSRParserCompileDynRule(t *testing.T) { } func TestRSRParsersGetIfaceFromValues(t *testing.T) { - dp := utils.MapStorage{ - utils.MetaReq: utils.MapStorage{ - utils.Category: "call", + dp := MapStorage{ + MetaReq: MapStorage{ + Category: "call", }, } exp := []any{"*rated", "call"} - if rply, err := NewRSRParsersMustCompile("*rated;~*req.Category", utils.InfieldSep).GetIfaceFromValues(dp); err != nil { + if rply, err := NewRSRParsersMustCompile("*rated;~*req.Category", InfieldSep).GetIfaceFromValues(dp); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { t.Errorf("Expecting %q, received: %q", exp, rply) } - if _, err := NewRSRParsersMustCompile("*rated;~req.Category", utils.InfieldSep).GetIfaceFromValues(utils.MapStorage{}); err != utils.ErrNotFound { + if _, err := NewRSRParsersMustCompile("*rated;~req.Category", InfieldSep).GetIfaceFromValues(MapStorage{}); err != ErrNotFound { t.Error(err) } } @@ -588,7 +586,7 @@ func TestNewRSRParser(t *testing.T) { expRSRField1 := &RSRParser{ path: "~sip_redirected_to", Rules: rulesStr, - rsrRules: []*utils.ReSearchReplace{ + rsrRules: []*ReSearchReplace{ { SearchRegexp: regexp.MustCompile(`sip:\+49(\d+)@`), ReplaceTemplate: "0$1", @@ -608,13 +606,13 @@ func TestNewRSRParser(t *testing.T) { expRSRField := &RSRParser{ path: "~sip_redirected_to", Rules: rulesStr, - rsrRules: []*utils.ReSearchReplace{{ + rsrRules: []*ReSearchReplace{{ SearchRegexp: regexp.MustCompile(`sip:\+49(\d+)@`), ReplaceTemplate: "0$1", }}, - converters: []utils.DataConverter{ - new(utils.DurationSecondsConverter), - &utils.RoundConverter{Decimals: 5, Method: "*middle"}, + converters: []DataConverter{ + new(DurationSecondsConverter), + &RoundConverter{Decimals: 5, Method: "*middle"}, }, } if rsrField, err := NewRSRParser(rulesStr); err != nil { @@ -627,7 +625,7 @@ func TestNewRSRParser(t *testing.T) { expRSRField3 := &RSRParser{ path: "~sip_redirected_to", Rules: rulesStr, - rsrRules: []*utils.ReSearchReplace{{ + rsrRules: []*ReSearchReplace{{ SearchRegexp: regexp.MustCompile(`sip:\+49(\d+)\/@`), ReplaceTemplate: "0$1", }}, @@ -645,7 +643,7 @@ func TestNewRSRParserDDz(t *testing.T) { expectRSRField := &RSRParser{ path: "~effective_caller_id_number", Rules: rulesStr, - rsrRules: []*utils.ReSearchReplace{{ + rsrRules: []*ReSearchReplace{{ SearchRegexp: regexp.MustCompile(`(\d+)`), ReplaceTemplate: "+$1", }}, @@ -662,7 +660,7 @@ func TestNewRSRParserIvo(t *testing.T) { expectRSRField := &RSRParser{ path: "~cost_details", Rules: rulesStr, - rsrRules: []*utils.ReSearchReplace{{ + rsrRules: []*ReSearchReplace{{ SearchRegexp: regexp.MustCompile(`MatchedDestId":".+_(\s\s\s\s\s)"`), ReplaceTemplate: "$1", }}, @@ -682,7 +680,7 @@ func TestConvertPlusNationalAnd00(t *testing.T) { expectRSRField := &RSRParser{ path: "~effective_caller_id_number", Rules: rulesStr, - rsrRules: []*utils.ReSearchReplace{ + rsrRules: []*ReSearchReplace{ { SearchRegexp: regexp.MustCompile(`\+49(\d+)`), ReplaceTemplate: "0$1", @@ -716,7 +714,7 @@ func TestConvertDurToSecs(t *testing.T) { expectRSRField := &RSRParser{ path: "~9", Rules: rulesStr, - rsrRules: []*utils.ReSearchReplace{{ + rsrRules: []*ReSearchReplace{{ SearchRegexp: regexp.MustCompile(`^(\d+)$`), ReplaceTemplate: "${1}s", }}, @@ -739,7 +737,7 @@ func TestPrefix164(t *testing.T) { expectRSRField := &RSRParser{ path: "~0", Rules: rulesStr, - rsrRules: []*utils.ReSearchReplace{{ + rsrRules: []*ReSearchReplace{{ SearchRegexp: regexp.MustCompile(`^([1-9]\d+)$`), ReplaceTemplate: "+$1", }}, @@ -772,7 +770,7 @@ func TestNewRSRParsers2(t *testing.T) { t.Fatal(err) } eRSRFields := RSRParsers{rsrFld1, rsrFld2, rsrFld4} - if rsrFlds, err := NewRSRParsers(fieldsStr1, utils.InfieldSep); err != nil { + if rsrFlds, err := NewRSRParsers(fieldsStr1, InfieldSep); err != nil { t.Error("Unexpected error: ", err) } else if !reflect.DeepEqual(eRSRFields, rsrFlds) { t.Errorf("Expecting: %v, received: %v", eRSRFields, rsrFlds) @@ -786,7 +784,7 @@ func TestNewRSRParsers2(t *testing.T) { { path: "~sip_redirected_to", Rules: `~sip_redirected_to:s/sip:\+49(\d+)@/0$1/`, - rsrRules: []*utils.ReSearchReplace{{ + rsrRules: []*ReSearchReplace{{ SearchRegexp: regexp.MustCompile(`sip:\+49(\d+)@`), ReplaceTemplate: "0$1", }}, @@ -796,10 +794,10 @@ func TestNewRSRParsers2(t *testing.T) { Rules: "destination", }, } - if parsedFields, err := NewRSRParsers(fields, utils.FieldsSep); err != nil { + if parsedFields, err := NewRSRParsers(fields, FieldsSep); err != nil { t.Error("Unexpected error: ", err.Error()) } else if !reflect.DeepEqual(parsedFields, expectParsedFields) { - t.Errorf("Expected: %s ,received: %s ", utils.ToJSON(expectParsedFields), utils.ToJSON(parsedFields)) + t.Errorf("Expected: %s ,received: %s ", ToJSON(expectParsedFields), ToJSON(parsedFields)) } } @@ -881,15 +879,15 @@ func TestRSRFldParse(t *testing.T) { } func TestRSRParsersClone(t *testing.T) { - rsrs, err := NewRSRParsers(`~subject:s/^0\d{9}$//{*duration}`, utils.InfieldSep) + rsrs, err := NewRSRParsers(`~subject:s/^0\d{9}$//{*duration}`, InfieldSep) if err != nil { t.Fatal(err) } cln := rsrs.Clone() if !reflect.DeepEqual(rsrs, cln) { - t.Errorf("Expected: %+v\nReceived: %+v", utils.ToJSON(rsrs), utils.ToJSON(cln)) + t.Errorf("Expected: %+v\nReceived: %+v", ToJSON(rsrs), ToJSON(cln)) } - cln[0].converters[0] = utils.NewDataConverterMustCompile(utils.MetaIP2Hex) + cln[0].converters[0] = NewDataConverterMustCompile(MetaIP2Hex) if reflect.DeepEqual(cln[0].converters[0], rsrs[0].converters[0]) { t.Errorf("Expected clone to not modify the cloned") } @@ -897,10 +895,10 @@ func TestRSRParsersClone(t *testing.T) { func TestRSRParsersParseDataProviderWithInterfaces2(t *testing.T) { ruleStr := "~;*accounts.;~*req.Account" - if prsrs, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if prsrs, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) - } else if rcv, err := prsrs.ParseDataProviderWithInterfaces2(utils.MapStorage{ - utils.MetaReq: utils.MapStorage{utils.AccountField: "1001"}, + } else if rcv, err := prsrs.ParseDataProviderWithInterfaces2(MapStorage{ + MetaReq: MapStorage{AccountField: "1001"}, }); err != nil { t.Errorf("Expected error , Received error <%v>", err) @@ -908,10 +906,10 @@ func TestRSRParsersParseDataProviderWithInterfaces2(t *testing.T) { t.Errorf("Expected %q ,received %q", expected, rcv) } ruleStr = "constant;`>;q=0.7;expires=3600`;~*req.Account" - if prsrs, err := NewRSRParsers(ruleStr, utils.InfieldSep); err != nil { + if prsrs, err := NewRSRParsers(ruleStr, InfieldSep); err != nil { t.Error("Unexpected error: ", err.Error()) - } else if _, err := prsrs.ParseDataProviderWithInterfaces2(utils.MapStorage{}); err != utils.ErrNotFound { - t.Errorf("Expected error <%v>, Received error <%v>", utils.ErrNotFound, err) + } else if _, err := prsrs.ParseDataProviderWithInterfaces2(MapStorage{}); err != ErrNotFound { + t.Errorf("Expected error <%v>, Received error <%v>", ErrNotFound, err) } } @@ -919,7 +917,7 @@ func TestRSRParsersParseDataProviderWithInterfaces2(t *testing.T) { func TestRSRParserParseValueInterface(t *testing.T) { prsr := &RSRParser{ - rsrRules: []*utils.ReSearchReplace{ + rsrRules: []*ReSearchReplace{ { SearchRegexp: regexp.MustCompile(`a`), ReplaceTemplate: "${1}b", @@ -940,10 +938,10 @@ func TestRSRParserParseDataProviderWithInterfaces2(t *testing.T) { dynRules: NewRSRParsersMustCompile("~*opts.*originID;~*req.RunID;-Cost", ";"), } - if _, err := prsr.ParseDataProviderWithInterfaces2(utils.MapStorage{ - utils.MetaReq: utils.MapStorage{utils.AccountField: "1001"}, - }); err != utils.ErrNotFound { - t.Errorf("Expected error <%v>, Received error <%v>", utils.ErrNotFound, err) + if _, err := prsr.ParseDataProviderWithInterfaces2(MapStorage{ + MetaReq: MapStorage{AccountField: "1001"}, + }); err != ErrNotFound { + t.Errorf("Expected error <%v>, Received error <%v>", ErrNotFound, err) } @@ -953,8 +951,8 @@ func TestRSRParserParseDataProviderWithInterfaces2(t *testing.T) { dynRules: rsrParser, } expErr := "invalid converter value in string: <*>, err: unsupported converter definition: <*>" - if _, err := prsr.ParseDataProviderWithInterfaces2(utils.MapStorage{ - utils.MetaReq: utils.MapStorage{utils.AccountField: "1001"}, + if _, err := prsr.ParseDataProviderWithInterfaces2(MapStorage{ + MetaReq: MapStorage{AccountField: "1001"}, }); err.Error() != expErr { t.Errorf("Expected error <%v>, Received error <%v>", expErr, err.Error()) @@ -963,13 +961,13 @@ func TestRSRParserParseDataProviderWithInterfaces2(t *testing.T) { prsr = &RSRParser{ dynRules: NewRSRParsersMustCompile("~*opts.*originID;~*req.RunID;-Cost", ";"), } - dP := utils.MapStorage{ - utils.MetaReq: utils.MapStorage{ + dP := MapStorage{ + MetaReq: MapStorage{ - utils.RunID: utils.MetaDefault, + RunID: MetaDefault, }, - utils.MetaOpts: utils.MapStorage{ - utils.MetaOriginID: "Uniq", + MetaOpts: MapStorage{ + MetaOriginID: "Uniq", "Uniq*default-Cost": 10, }, }