From 48a7440d2ee4c0447c2ae045c53600c47eecd020 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Wed, 8 Jul 2020 17:52:38 +0300 Subject: [PATCH] Added more tests for ip2hex --- agents/agentreq_test.go | 28 ++++++++++++++++++++++++++++ engine/datamanager.go | 1 - utils/dataconverter_test.go | 8 ++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/agents/agentreq_test.go b/agents/agentreq_test.go index c26951ed9..7e467b1dc 100644 --- a/agents/agentreq_test.go +++ b/agents/agentreq_test.go @@ -1663,6 +1663,34 @@ func TestAgReqSetFieldsInTmp(t *testing.T) { } } +func TestAgReqSetFieldsIp2Hex(t *testing.T) { + cfg, _ := config.NewDefaultCGRConfig() + data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) + dm := engine.NewDataManager(data, config.CgrConfig().CacheCfg(), nil) + filterS := engine.NewFilterS(cfg, nil, dm) + agReq := NewAgentRequest(nil, nil, nil, nil, nil, nil, "cgrates.org", "", filterS, nil, nil) + agReq.CGRRequest.Set(&utils.FullPath{Path: "IP", PathItems: utils.PathItems{{Field: "IP"}}}, utils.NewNMData("62.87.114.244")) + + tplFlds := []*config.FCTemplate{ + {Tag: "IP", + Path: utils.MetaTmp + utils.NestingSep + "IP", Type: utils.MetaVariable, + Value: config.NewRSRParsersMustCompile("~*cgreq.IP{*ip2hex}", utils.INFIELD_SEP)}, + } + for _, v := range tplFlds { + v.ComputePath() + } + eMp := utils.NavigableMap2{} + eMp.Set(utils.PathItems{{Field: "IP"}}, &utils.NMSlice{ + &config.NMItem{Data: "0x3e5772f4", Path: []string{"IP"}, + Config: tplFlds[0]}}) + + if err := agReq.SetFields(tplFlds); err != nil { + t.Error(err) + } else if !reflect.DeepEqual(agReq.tmp, eMp) { + t.Errorf("expecting: %+v,\n received: %+v", eMp, agReq.tmp) + } +} + func TestAgReqSetFieldsWithRemove(t *testing.T) { cfg, _ := config.NewDefaultCGRConfig() data := engine.NewInternalDB(nil, nil, true, cfg.DataDbCfg().Items) diff --git a/engine/datamanager.go b/engine/datamanager.go index d18e1384a..3b1c6144d 100644 --- a/engine/datamanager.go +++ b/engine/datamanager.go @@ -733,7 +733,6 @@ func (dm *DataManager) SetFilter(fltr *Filter, withIndex bool) (err error) { } } return - } func (dm *DataManager) RemoveFilter(tenant, id, transactionID string, withIndex bool) (err error) { diff --git a/utils/dataconverter_test.go b/utils/dataconverter_test.go index 018af0d9e..05a45477a 100644 --- a/utils/dataconverter_test.go +++ b/utils/dataconverter_test.go @@ -643,6 +643,14 @@ func TestHexConvertor(t *testing.T) { } else if !reflect.DeepEqual(expected, rpl) { t.Errorf("expecting: %+v, received: %+v", expected, rpl) } + + val = "62.87.114.244" + expected = "0x3e5772f4" + if rpl, err := hx.Convert(val); err != nil { + t.Error(err) + } else if !reflect.DeepEqual(expected, rpl) { + t.Errorf("expecting: %+v, received: %+v", expected, rpl) + } } type testMockConverter struct{}